Take 2 iPhones from the same network, running the same iOS version put them side by side and see what the difference is in the battery life to see if the battery drain problem can be fixed. That's what the chaps at ZDnet have tried to do. Oddly 1 phone was fine whilst the other had the battery drain problem. So what happens if you backup the iPhone with the battery problem and restore it onto iPhone 2, the one without the battery problem. Interestingly the battery drain problem appears on the the phone with the restored iPhone 1 software on it. In effect the bug has made the jump from one phone to another.
What ZDnet didn't say was if iPhone 1 (with the issue) didn't have the issue when having the reverse applied (restoring iPhone 2 without the bug issue to iPhone 1)
So it's good news on one front it;s a software issue NOT a hardware issue, well at least in this case.