I continued to research my issue and ended up finding the solution here: I need query_posts() to order results first by a meta value and then by post ID
Basically, it seems the WordPress orderby is screwed. When I examined the SQL it was producing the orderby looked like this:
ORDER BY wppc_postmeta.meta_value+0 DESC
Which is basically meaningless.
So I created a quick filter function to write the orderby code as WordPress should have done in the first place:
function pb_override_orderby() {
$orderby_statement = "wppc_postmeta.meta_value DESC, wppc_posts.post_date_gmt DESC";
return $orderby_statement;
}
Then, immediately before I make the query_posts() call I add the line:
add_filter('posts_orderby', 'pb_override_orderby');
These two snippets throw out the WordPress bad code and replace it with correct code that works as required. Much better. Something for WordPress to look into in some future bug fix.