I resolved this problem by changing the application pool identity. Under IIS MMC -> Application Pools, [application pool for your asp.net application], Identity tab, change to configurable and use the ASPNET account.
From a newsgroup post: "Try reinstalling ASP.NET on your box using the Administration utility to install and uninstall ASP.NET on the local machine:
1. Open a command prompt
2. Stop IIS: iisreset /stop
3. Change to the .NET Framework 2.0 root directory: C:\winnt\Microsoft.Net\Framework\<version>\
4. Reinstall ASP.NET 2.0 by using the following command: aspnet_regiis -i command.
5. Start IIS again after it has been run: iisreset /start
Try to access your web page again".
From the same newsgroup post: "I used aspnet_regiis -ga domain\processusername. This resolved the issue by authorising the ASP.NET process defined in the Machine.config to the IIS Metadata".
Also, make sure that the ASPNET account (IIS 5.x) or the Network Service account (IIS 6.x) have the necessary permissons to the files you are trying to run.