I've got all these little rants queued up for days when I'm too busy to post. And Raymond has all these little articles queued up while he's on vacation. And in one of those weird Brouwer Fixed Point Theorem moments of synchronicity, Raymond just beat me to it. His post on how people write incorrect implementations of QueryInterface is different than the one I was going to post only insofar as his is more complete and has fewer pirate jokes.
In short: I've come across plenty of code where the QueryInterface responds to IPersistBlahBlahBlah but not IPersist. Drives me nuts! Argh! Read Raymond's post for more details.