If you use VB behind your reports to build calculations then you may encounter this problem much the same way I did. It all happened when I used three variables to hold accumulation totals so that when the report got to the footer, those three variables held the totals to display.
The phenomenon occured when I previewed the report and all my totals were correct, but after I clicked Print the totals doubled exactly to the penny.
After a some thought I figured out that the Reports must calculate twice to print. Once to create the preview and then a second time when printing. The problem was that the accumulation variables were being added to twice.
The solution is to provide correct initialization of your variables. They must be initialized first when the report is first opened, and then a second time when the report is sent to the printer. The names of these two events are Report_Open and Report_Page.