Hola.
Anoche revisé un poco tu programas y he notado varias cosas:
1.- sin meterme con la parte del usb, dices que usas el puerto paralelo, sin embargo no veo que llames a LPTx por ningún lado.
...el problema en si vendria cuando conecto por ejemplo el primer y el tercer led de uno de los chips y seguidamente enciendo solo el tercero del otro chip, automaticamente se me enciende el primero...
2.- Al notar la conexión del 74LS374 veo que los datos se comparten, es decir, no estas doblando al puerto, la única forma sería aislar cada buffer manejando el pin1 /OE. Si lo colocas en high, estas poniendo en alta impedancia las salidas Q[7-0]
Se me ocurre que si manejas ambos /OE puedes hacer una multiplexaje y asi lograr mostrar datos distintos en ambos bufferes.
un pseudo-código:
1.- /OE1 /OE2 <- 1 y CLK1, CLK2 <- 0
2.- mandas el primer byte
3.- CLK1 <- 1
4.- 1 ciclo reloj
5.- CLK1 <- 0
6.- 1 ciclo reloj
7.- /OE1 <- 0
8.- retardo X
9.- /OE1 <- 1
10.- mandas el segundo byte
11.- CLK2 <- 1
12.- 1 ciclo reloj
13.- CLK2 <- 0
14.- 1 ciclo reloj
15.- /OE2 <- 0
16.- retardo X
17.- /OE2 <- 1
18.- volver al paso 1
retardo X es el tiempo que dura encendido los led´s, deberas ir ajustando hasta que tengan un buen brillo y que se vea el efecto que están encendidos todos los 16 al mismo tiempo con datos distintos (puedes probar a partir con X= 3ms en adelante)