When trying to get a post collection a client will ask for wp-app.php/posts which works fine with the regular ?p=1 style URLs, but will return zero posts when clean URLs are turned on. After comparing successful requests with failed ones, it looks like WordPress is marking wp-app.php/posts requests as a 404 so it doesn't bother to do the post query to fetch recent post data. From the client point of view it looks like the blog has no posts.
The solution I came up with checks the $req_uri value to see if it's equal to wp-app.php. If it is then it breaks out of the rewrite match loop. This worked for both the default ?p=1 style URLs and clean URLs.