Hi David,
It looks like the report object is empty. Check your code again and make sure the Report object is still valid when you assign it to the Viewer.ReportSource.
Try a simple "one liner" report and app. Use a report with just "Hello World" in a text box so you remove all dependencies off of it.
Create a new Crystal Report WEB app, this we know works and preview a saved data report and put all of the code in the Page_Init section.
Don