Strange. We have a webserver that hosts a lot of ASP.NET websites (v1.0, v1.1, and now v2.0 too) and one day this week it decided to stop launching ASP pages with access denied to the global assembly cache. I checked all the usual suspects for that sort of problem.
I also noticed Windows Updates from WSUS were failing on install, almost instantly. So, I fired up 'tail -f %windir%\WindowsUpdate.log' and watched the log as I tried to install the updates again. The very first error that kicked off was a COM error about not being able to launch/attach to the process.
So, I tried to look up the error code and it seems to relate to the DefaultAccessPermission key in the registry for Ole. Yep, good ole Ole from way back when. Anyway, I still have to double check the websites after I bounce the server and repair the dot net binaries.
If you can't seem to launch any COM processes, go to HKEY_LOCAL_MACHINE\Software\Microsoft\Ole, and delete the key "DefaultAccessPermission"
The next time an app uses COM, the key will be recreated with sane default values.
I still wish I knew what corrupted the values in the first place.
I'm sure there is a more elegant or 'proper' way to fix this, but the values in that key did not look right at all compared to other servers.