Never put your code in the Load() event. There are timing issues with loading the viewer into memory and the ViewState object. Put your code in the Init() event instead and see if that helps.
I cover the problems with the Load() method in my CR.NET 2005/2008 book. You can find out more about my books at
Amazon.com or reading the
Crystal Reports eBooks online.