I am driving my IT manager nuts with this issue. Here's my story and current diagnosis:
1. Had an iPhone 4 running 4.3.2 that was running perfectly except that the sleep button got stuck
2. Took it in and Apple gave me a replacement
3. Set it up as a restored backup, upgraded to 4.3.3 and the battery drained way too fast
4. Have done a million combinations of full restore with no apps, no email accounts etc., trying to solve the problem
5. I even took the original replacement back in and got a second replacement
6. MobileMe and Yahoo accounts push with no consequence to the battery
7. Exchange contacts and calendar push with no consequence
8. Exchange email set to Push KILLS the battery with no other apps or accounts installed
9. If I set Exchange to Fetch, everything is fine
10. The frustrating thing is that this was never a problem with the old phone and now I have to wade through all of the "Well you know, Push can have an adverse impact on the battery" stuff.
This was never a problem before the new phone and 4.3.3. Setting Exchange email to Push is all of the sudden a problem. I am pretty sure my company uses Exchange 2003. Again, this worked just fine two weeks ago on my previous iPhone 4 running 4.3.2. I ran it for almost a year this way with ZERO problems.