aaaa,   y checate en esta parte: 
 
Código:
 Shell("print /d:lpt1 C:\temp.txt", AppWinStyle.Hide)
  como hacer para enviar la salida por puerto USB, que se debe de poder desde MS-DOS,  intenta cambiar /d:lpt1 por:  /d:usb1  ó  USB001 , dependiendo del caso en el puerto que se encuentre, intenta con varios usbn.... 
Suerte,,  comenta que paso !!!