I just had to spend the past 30 minutes wrestling with one of those strange little errors that you used to get 3 years ago when .NET 1.0 was brand new. Basically, I made one tiny change to my source code (changed a line from "index = i" to "index = i - 1" if you must know) and then hit F5 and got an ugly error indicating that one of my DLLs could no longer be accessed by my web service. Ugh, a reboot later and nothing changed. Nothing like an old-school style glitch (is it a bug?) to bring you back to those early days when you never knew when you might get a bright red 20px error mesage on your screen instead of your app.
I'll spare you the details but the bottom line is that if your application starts throwing seemingly random "access denied" errors on DLL's that support it, it is probably because Indexing Service has just locked down your required file in the background without asking you first. Here's a bit more about that: http://support.microsoft.com/default.aspx?scid=kb;en-us;329065. The bottom line is that to fix it, you have to either wait for a while for your file to be released, kill the indexing process manually, or stop the service from auto starting. I am not sure how this affects MSN Desktop Search or Google Desktop Search since it is my understanding that they both rely on that service, but that is beyond the scope of my current situation.