I believe ... the problem is with a setting in your .config file (either web.config or machine.config). Either way, you can correct the problem by making the following entry in your web.config file which takes priority over the machine.config file for it's corresponding web.
The following should be placed between the system.web tags
<identity impersonate="false" />
A true value for this setting tells the web server (IIS) to impersonate the validated user instead of using the ASPNET user. Therefore, the logged in user must have appropriate permissions to the crystal directories. This can be tedious to maintain, so unless you need to do this, it is advisable to set impersonate to false which tells the web server to just use the ASPNET user, with it's permissions. The permissions should be set up properly for the ASPNET user to run the Crystal scripts and you won't have to manage permissions for all the possible user of your web.
Anyway, it's a quick and simple try. Make the change to the web.config file, save and then you can try the web app again without having to rebuild.
Hope this helps.