If you’re dealing with a bum battery in your iPhone 3G try backup up and completely restoring the firmware. Early phones were shipping with the 5A345 firmware – you can check it in Settings > General > About > Version – and a restore will dump 5A347 onto the phone. I’m testing this hypothesis now with two iPhones.