We had a series of issues leading up to this problem and its unknown whether or not we actually caused this however here's how I fixed it in case anybody else see's a similar problem.
Outlook 2010, Exchange 2003(SBS), iPhone 3GS, iPhone 4, WM5's and WM6's
All of the above phones were seeing symptoms, the iPhones batteries were reduced by at least 60% and the windows mobiles didnt seem to be picking up all emails.
Whenever Outlook 2010 was open, emails to the phone was brilliant and worked almost perfectly. Once closed, the doors were shut and no more email!
Edit this key, no reboots necessary.
Set ProactiveScanning = 1 (proactive scanning occurs when an item is delivered to a folder, but a request has not been made by a client)
Set ReloadNow = 1 (By default this value is set to zero, by setting this value to "1", Exchange will reload the configuration settings from the registry and reload the Vendor's DLL. Once completed this value is reset to "0" by Exchange.)
This sounds like a really unbelievable fix but it genuinely works and I've tested it on other sites where it has worked also.
Did I solve your problem? Buy me a virtual beer by clicking on a Google ad :). Thanks!