My Problem always was that I used wrong fieldnames.
Sharepoint has the unfair nature not to show the internally used fieldnames. (f.e. if you rename a custom field you only change the caption of the field not its database-name).
What you see is not! what is used by Sharepoint.
I use a CAML Viewer to find the orginal names (you can get a good ...