Today a strange thing happened. The battery indicator of my iPhone 3G still had a good amount of green in it when I received a call (at least 1/5). I immediately got this screen and I couldn't take the call:
I plugged it but surprisingly the charge indicator displayed the battery as being about 70% full; it didn't take long for the battery to get to 100%.
I calibrated the battery when I purchased it a week ago and in general I get a very good charge out of it. I also don't recall seeing the usual warning when the battery only has 20% remaining before the incident happened.