I think I’ve resolved the problems here, but I’m no WP wizard. Everything seems to be working OK on my blog, with my changes.
Essentially I think we need to replace the query overloading strategy with one that just hooks into the “the_post” action.
Details can be found at my blog post on the changes.
Feel free to try those hacks yourself, or if you are a WP wizard to comment on how to do the job better.