Just to elaborate further... The reason the reports I was able to print worked is because those reports did not use a datatable as a data source. The entire content of the report was filled in using parameters.
I didn't pick up on the difference when I was diagnosing... I should have.
James