The dust covers over the haz cams (the navigation cameras on the belly of Curiosity) were added in the last minute. Here is the engineer who implemented them writing about the covers: http://forum.nasaspaceflight.com/index.php?topic=29612.msg93...
Basically, the Phoenix lander (landed on May 25th 2008) kicked up more dust than expected. They were worried and did a review for Curiosity, but found out that only the haz cams (because of their location on the belly) were in danger, so they decided to add dust covers to them (and also kept them transparent to see whether there really was a dust problem – as you could see from the first photos with covers still attached there very clearly was).
My guess is that stuff gets changed and updated a) if there is money and resources left or b) if the mission is in danger if you don’t change something.
The 2MP sensor is very clearly good enough. Any update in resolution would give you diminishing returns – so something like that gets pushed back.