I had the same issue on ios6. (I've not tested this on ios7) Try these two methods before showing the MFMailComposeViewController,
[self.parentViewController resignFirstResponder];
And this one on the mailComposer,
[self becomeFirstResponder];
Note - This answer is for your issue #1