Thats great except.....
.......the Mail push service is only 1/2 a push service. It doesn't push read information to the phone. If you read an email in the web interface or in any other mail client the phone still thinks you have X unread emails. Quite annoying when you look at the phone a few hours later and its showing 2 new emails but you've already read and dealt with those.
Connecting to an Exchange server from the iPhone does not have this problem, it handles read updates perfectly fine so come on apple, sort yourself out and actually finish implementing it!