When calling the PrintToPrint function of the CrystalReports ReportDocument, I had to build in a short wait after the report is loaded to ensure that a blank page would not be printed. The code below is from VB.NET 2005 and is using Crystal Reports 10.
Dim crptReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
…(missing section of code)…
While Not crptReport.IsLoaded
crptReport.PrintToPrinter(intCount, True, 0, 0)