RE:Como identificar si se imprimio un reporte.
Se puede saber si se mando a imprimir pero no se puede saber si se imprimio bien que es muy diferente...Si quieres saber si se mando a imprimir Tienes que crear una forma en una clase, en estas clase se llama a un toolbar especial (e3n el evento INIT )con dos botones (imprimir y salir) el print preview lo mandas a la forma y al toolbar original del preview le quitas los botones de imprimir y salir (por lo menos el de imprimir ) y listo. Para quitar botones del toolbar de impresion checa este articulo:
http://www.kbalertz.com/kb_Q317466.aspx
Para poner la el Preview en una forma pones un codigo como este:
lo_Form = CREATEOBJECT("Form")
lo_Form.SHOW()
DEFINE WINDOW PreviewWindow FROM 1,1 TO 15,40 IN WINDOW ;(lo_Form.NAME) NOCLOSE NOFLOAT NOGROW NOMINIMIZE ;
NOZOOM TITLE ""
SHOW WINDOW PreviewWindow
REPORT FORM MirReporte.frx PREVIEW IN WINDOW PreviewWindow NOCONSOLE NOWAIT
En este caso ya podras saber si el usuario apreto los botones de tu toolbar...Ojo, Esto nunca lo he probado pero me parece que puede funcionar.