In the last few days, I've had two things that I took to calling "Heisenbugs" - one of the blogs here had a never-changing referer list, and the server, after having been restarted, stopped sending blog pings. These were weird bugs that I just couldn't understand - I kept querying the server, and things looked ok - but wouldn't work correctly.
What I discovered is that they both had (of course) logical explanations. For the referer problem, there was an old log file that was being read from - and sure enough, it had the "never changing" list of referers. After I cleaned that up, the problem went away.
The other one was stranger. On posts, I send blog pings to a variety of places - blog.gs, Technorati, etc. These had worked before, but they weren't working now - and the failure seemed inexplicable, a MessageNotUnderstood deep in the bowels of the Http library. The issue was simple, once I figured it out. There's a cached dictionary of header fields mapped to classes that handle them. What happened was this - when the server started, that cache got filled before all the code was loaded into the system - leaving it partially filled. The solution was simple - clear the cache, and force it to reload.
So I didn't have Heisenbugs - I had bugs I hadn't figured out yet.