does your application push the data to the report or does it push the parameters and the report pulls the data from database? Are the values for the reprint the exact same as the print?
The first thing that comes to mind is a date issue, something like:
where datefield < date, but the datefield has a time part so it's not fitting the criteria, while reprint is datefield < date 23:59:59 so it catches it...
I also thought of unions, since they remove duplicates (unless UNION ALL), but the reprint should have failed as well...if they are both using the stored proc / datatables.
which leads me back to a date time type of issue.
Since one works and one doesn't, but the values are always correct, it's not the report per se, just the data.
HTH