I'm also off out to Ye Olde Trip to Jerusalem - the oldest Inn in England. It's an absolutely beautiful pub set into some of Nottingham's caves (yes, you get to sit in a cave and drink beer!). Oh, and it is indeed only 3.30pm.
Anyway, I just wanted to add two things.
Seems like the classic Z-Buffer help page, http://www.sjbaker.org/steve/omniv/love_your_z_buffer.html, has gone offline. Which is a damn shame. Someone in the DX forum pointed towards a mirror/cache of it here. Phew - would be a real shame for it to disappear completely.
Also, I'm writing up a lengthy FAQ entry on Direct3D memory leaks. Oh the fun.
This DirectXDev mailing list thread was a pretty good resource - I remember reading it at the time and thinking it was useful. Now its in the FAQ.
Wessam's idea about using SetPrivateData() isn't new to me as such, but for whatever reason I've never bothered to check it out properly. I knocked up a simple clone of his post today - can't help but grin at how useful a trick it is. Think I'll probably push it further and write a full example for this journal/forum...
Anyone got any tricks for finding D3D memory leaks that they think are FAQ-worthy??
Edit: I would also strongly recommend using Boost "intrusive_ptr"s as smart pointers for wrapping COM objects, but you have to be careful since their default constructor adds a reference.