Make sure the printer environment is not saved with the report. Maybe that is interfering with the output.
Occassionally, printing to NULL can create incorrect page counts. Make sure you print to a temporary file such as this:
lcFile = SYS(2015) + ".tmp"
REPORT FORM MyReport NOCONSOLE TO FILE &lcFile
lnPage = _PAGENO
ERASE (lcFile)