I'm not sure I'm right, but I think the report is executed once to generate the preview, than it is executed another time to be printed. If there's difference (data or variables) between the first execution of the report and the second execution, there may be a difference....
Can somebody confirm this ??
Hope it helps...