I am assuming that you are selecting the tables and joining straight to them to create your report (not using a stored proc). If so, I would try creating a command object the returns 2 rows, 1 and 2, something like:
select rowid =1
union
select rowid =2
now join your existing tables on this command object, and then you can programatically set the header, and most importantly, there are now 2 rows of data. CR will only print what it sees. Before, it only saw 1 row, and so it would never do what you want. This simple trick should allow you print your 2 copies.
HTH