FeedsCSVParser.inc converts all field headers to lower case. From the comments in the code, and the issue at http://drupal.org/node/754938, this appears to be intentional.
But, this breaks Feeds plugins when used with mixed-case CSV headers. The plugins expect column names to exactly match the headers as they're defined at admin/build/feeds/edit/*/mapping, while FeedsCSVParser is modifying them.
I'm not certain why the CSV parser would need to work in lowercase (other parsers don't seem to have that requirement), so I made a patch that removes all the drupal_strtolower() calls. CSVParser's override of parent::getSourceElement() could probably be removed as well since, but I didn't do so in this patch.
(This patch is working well in my tests. But, I don't know enough about Feeds internals to be sure that it wouldn't cause serious problems elsewhere -- there was a certainly a reason why the strtolower calls were put there in the first place, though I'm not sure what that might be)