Seguramente print se ejecuta en otro hilo.
La printer no tiene alguna propiedad printing o algo similar??
con esto fácilmente se podria hacer algo como:
Código Delphi
[-]
if not Preview.qrPrinter.printing Then Preview.QRPrinter.Print;
else
ShowMessage('No se puede imprimir mientras se esta imprimiendo ');
Hasta luego.