RE:ESTADO DE LA IMPRESORA
Hola, creo que pueden ser varias causas y dependen de la versión de VFP y del SO que usas
Lo más probable es que tengas habilitados los controladores de windows que ponen en cola los trabajos de impresión. Si es así PRINTSTATUS() vale siempre .t.. Para resolverlos tienes que configurar tu impresora para que imprima directo en la impresora, dependerá del fabricante del controlador si puedes hacerlo.
No debes tener ningún programa que utilice buffers de impresión en medio. Estos programas hacen que termines antes la impresión porque guardan todo en memoria, pero interceptan las señales de la impresora.
La impresora y tu hardware deben estar configurados para comunicación bidireccional. Esto incluye agunas BIOS.
Hay cables y/o hardware de impresora que tienen la señal CS (Clear to Send) encendida siempre y a menos que puedas cambiarlo, no tiene remedio.
Una práctica olvidada por generaciones de programadores es dejar que el usuario te diga si la impresora está lista o no (aunque sea configurable). Yo prefiero que el usuario siempre tenga el control, pero claro hay casos y gustos distintos.