Thanks for your help everybody.
I was using a custom post type and forgot to include
'post_type'=>'my_custom_post_type'
I finally got to the problem by doing a var_dump
on the WP_Query
object and looking at the SQL. Running the query directly on the database and picking through it, I eventually found my error.