I've been through "The battery ****" too, having now my third iPhone (the first two replaced by Apple because of the battery issue). I've done lots of different things to the phone, checking it and trying various techniques described by people in this and other forums.
Here's what I've found out (as far as my phone is concerned) and I hope it helps:
1) Carrier settings. It seems like having the right carrier settings (ipcc file) is extremely important for the phone to operate correctly in terms of power consumption. Wrong APNs do not only influence your bill – they have an impact on the battery drain as well. It's a good idea to have your IPCC up to date and perhaps ask your carrier for a correct file (it can be manually installed and carriers usually should know how to handle it). Why is it so important? Because iPhone needs one PDP context for its normal operation. PDP context is a kind of a quasi-persistant network connection through the cellular network. It works with 3G, Edge or GPRS. And if its parameters are wrong (these come from IPCC file) your power consumption may cause a lot of trouble.
2) Push. Or more precisel - mail push. Many are saying it should be disabled but strangely there're a lot of people who claim it works perfectly fine and doesn't drain the battery. Here's what I've found out: in my case, my mobileme account's mail, if push mail is enabled, drains 5-6%/hour (in stand-by) adding at least 20 minutes of usage. I.e.: I leave the phone locked with Usage: 0 minutes, battery: 67% and an hour later it has Usage: 20 minutes, battery: 62%. So I started playing around with the settings and it turns out that the only bit that is really causing power drain is mail push (i.e. synching contacts and calendars only through push and mail by downloading every 15 minutes is a lot less power consuming). I have my mobileme account (it's an original mac.com account, but now it's obviously a mobileme one) and when I disable mail push on it – my power drain reduces to 2-3% an hour in stand-by with mail still checked every 15 minutes. I can't tell whether the actual problem is in my phone (I don't have enough fingers to count all the restarts, restores and such that I've done), in my mobile me account, MobileMail or in OS 3.0.1 itself. But there certainly is a problem. And most probably there's a mix of more problems in some of these supposed locations.
3) Given that the most common suggestion around is to reset the phone and "start from scratch", and given that most of us have an archive of texts we'd like to keep, I've found a solution to the "keeping your texts" issue (read the comments, especially the last one):
http://www.macosxhints.com/article.php?story=20090624022758268
I hope this helps someone. It did help me and it does work.
4) A few things that did nothing in terms of power consumption (or did something I couldn't notice):
- disabling push notifications for applications (I've only got truphone in that category)
- disabling wifi (remember: wifi is the most power-efficient communication protocol iPhone has...)
- disabling 3g... 3g drains when it is used, but costs almost the same as edge/gprs when idle
5) A few things that I found to be useful:
- disabling "Find my iPhone". Depends a lot on your network, but in many cases it's a drainer. And, well, it's a nice feature, but not really very useful for most of us.
– running the phone down to 2%, turning it off, leaving it steady for 30-40 minutes, plugging it into the wall for a good 10 hours. it does refresh the battery. at least on a phone that's only a week old...
- restoring "anew". it made my phone faster, it uses less memory. and i've got the same set of applications...
I hope the idea about playing with push could help somebody. And I also hope these problems are resolved soonest as iPhone is a very good product and it is such a bummer one can not use it to its fullest...!