Hola Lord.
Yo tuve la misma duda que vos. Tengo solo notebooks y la idea era poder pasar mediante el USB al puerto paralelo. Obviamente primero apunte a un cable conversor de USB a paralelo.
Averigue un poco, y parecia no ser algo de otro mundo. Asi que me compre el cable. Uno de marca Manhattan(caro, pero de lo mejo: unos 30 USD).
Para mi sorpresa, al conectar el cable, solo me instalaba el siguiente driver para el USB( y es lo que te va a instalar si compras uno...):
IEEE-1284 Controller Compatibilidad con impresoras USB
Genial? Eso parecía. Pero no.
Olvidate de usar la INPOUT32.dll o algo que se le parezca. A nivel driver, el cable solo acepta comunicación con impresoras. Es lo único que entiende el driver con el que viene preparado.
¿Lindo,eh? Entonces acá venía el desafío: Si Windows podía enviarle datos al LPT, yo también debería poder. Imposible? Eso parecía. Averiguando un poco, descubro que las impresoras de Windows están asociadas a un archivo: USBPRINT.SYS. Si tan solo pudiese utilizar las llamadas al OS e indicarle a Windows que escupa datos por el puerto ese, debería poder lograrlo.
¿Complicado? Algo. Después de un día entero, di con una página que fue de ayuda(y es casi la unica que trata el tema en detalle):
http://blog.peter.skarpetis.com/archives/2005/04/07/getting-a-handle-on-usbprintsys/Como tuve muchisimos problemas para lograr compilar dicho código, volví a mi añorado/detestado VB6, y me planteé la idea de rehacer todo en este lenguaje.
Luego de dos días de sufrir, renegar y rezongar mucho por problemas de compatibilidad entre VB6 y las llamadas a las funciones del OS, lo logré.
O al menos eso pensé. Todo parecía estar bien, pero nada se mostraba en el puerto. Después me avive que el adaptador espera una impresora conectada por lo que hay que respetar sus normas, y con poner el pin 10 del LPT a tierra, el dato finalmente aparecía en el puerto.
Ahora: la velocidad con la que podía enviar 1 byte al puerto era...espantosa. Sólo podía enviar algo así como 80 bytes por vez. Qué pasaba? Otra vez el querido handshake del LPT. Había que seguir respetandolo. Conecte el LPT a un uC, que generaria el handshake necesario para que el protocolo respetase al de la impresora. ¿El resultado? 150kBps(1,2Mbps) fluían por el puerto.
Alegría! Después de 4 días de estudiar y reestudiar a nivel bajo la WINAPI, el USB, el IC que trae el adaptador y un montón de yerbas más que no vale la pena mancionar, allí estaba.
Esto fue solo el principio. La idea es ahora pulir el codigo(que ha quedado horrible, porque no lo he tocado mas) y tambien cambiarlo a algun lenguaje mas veloz. Con el que las velocidades ascenderían seguramente a más del triple según mis pruebas preliminares.
Resumiendo entonces, esto es lo que sé y/o lo que he logrado: 
Pude enviar 8 bits de datos a gran velocidad.No comprobé la integridad de los datos;

El handshake es inevitable. Porque el adaptador nació para comunicarse con impresoras, y por lo que he leido en el datasheet del mismisimo IC que hace la conversion, fue diseñado para ello, por lo que ni siquiera rehaciendo un nuevo driver para windows te liberarias del handshake. Para mostrar datos en el puerto sin ningun tipo de hardware complejo adicional, es necesario poner, minimamente, una pulldown en el pin 10, y generar un clock rápido en el pin 11. Con un 555 podrías hacerlo...

No he podido leer del puerto. Lei el datasheet del IC controlador, y permite leer no solo del bus de datos, sino que además de ciertos pines de control, pero requiere de mayor investigacion y no he tenido el tiempo;

No funcionará tampoco con la INPOUT.DLL. Para que lo hiciese, habria que lograr interceptar todos los mensajes que envies a las posiciones donde estaria el LPT1(ej. 0x378...0x37A) y recien alli puentear con este codigo para que sea "transparente";

Estoy dispuesto a seguir investigando, a compartir lo logrado, y luchar hasta poder leer y escribir en todos los pines del LPT;
Saludos.