OK, just got off a troubleshooting live chat with someone at Samsung. Here is the (edited) chat:
You are now chatting with 'Margaret'. There will be a brief survey at the end of our chat to share feedback on my performance today.
Your Issue ID for this chat is [deleted]
Margaret: Hi, thank you for contacting Samsung Technical Support. How may I help you today?
Visitor: I am having strange battery behavior on my T-Mobile Galaxy S2 (SGH-T989). The battery status stays at 100% even after it has been used for hours. If I reboot the phone the status is then reported correctly. It only gets "stuck" when it has been charged to 100%, such as overnight.
Visitor: Here is a link to a discussion on the Android forums where many people are reporting the same problem:
Strange Battery Behavior - Android Forums.
Margaret: I understand that your phone shows 100 percent battery life even after hours. Am I correct?
Visitor: Yes.
Margaret: Since how long are you experiencing the issue?
Visitor: For the past several days.
Margaret: Okay. Have you tried with the soft reset on the device and checked the status of the issue?
Margaret: Performing Soft reset will clear the internal circuitry of the phone and it will refresh all the applications on the phone.
Margaret: Please follow the instructions to perform a soft reset on the phone.
Margaret: 1.Turn off the handset.
Margaret: 2.Remove the battery and wait for 30 seconds.
Margaret: 3.Reinsert the battery and turn ON the device.
Visitor: Yes, and it does nothing to help the problem. Note that just rebooting the device will make it show the correct percentage. But then after recharging to 100% it will be stuck at 100% again.
Margaret: Okay. Are you using the same battery that came along with the phone?
Visitor: Yes
Margaret: Okay. The issue might be with the Hardware or software part of the device. Let us try performing the Factory data reset/hard reset on the device and check the status of the issue.
Margaret: Performing the Hard reset will erase all the data on the device and set the device to factory default settings. If there is any issue with the phone software performing the Factory data/Hard reset should fix the issue.
Visitor: I have already tried a hard reset to factory standards, and it did not change the issue.
Margaret: I am sorry to hear that.
Margaret: As you have tried with all the possible trouble shooting steps and see that the issue is still persisting, it seems that there might be some issue with the device. The issue might be with the internal phone settings or hardware settings of the device.
Margaret: The phone needs to be examined and serviced. I am going to provide you our Samsung voice support contact number here, it is toll-free. Our Voice support team are going to raise an service request issue regarding your device, examines the complete software of the device and isolates the issue. I suggest you to contact below given number.
Margaret: You can contact our dedicated Galaxy S phones voice support team at 1-877-EZ2GALAXY (1-877-392-4252).They are available 24/7. You will need to registered to avail 24x 7 service.
OK, I lied a bit to "Margaret." I have not done a factory reset yet, because that would require reinstalling all my apps and settings, and would be a major pain. I'll do it if it turns out that it will really solve the problem, but I suspect it will not.
However, I did do a soft reset (remove battery for 30 seconds) as "Margaret" suggested. Now I will recharge to 100% and see if the soft reset fixed the problem.