Te recomiendo usese el componente
TRawPrint para envíar directamente los comandos DPL a la impresora. Este componente usa el spooler de impresion, por lo tanto puedes enviar a travez de cualquier impresora instalada en windows los comandos, no importando si es LPT o USB.
Espero te ayude.
Ejemplo en C++ Builder:
Código Delphi
[-] TRawPrint* PrinterR;
PrinterR = new TRawPrint(NULL);
PrinterR->DeviceName =DMDatos->Impresora;
PrinterR->JobName = "ETIQUETA";
if(PrinterR->OpenDevice())
delete PrinterR;