Anybody still having difficulties with this and finding this thread, go down the clean-it-yourself route. Worked for me. You will need: some isopropyl alcohol (disk cleaner), wooden toothpicks, some compressed air. First things, remove the battery, sd and sim card. Soak the tips of a couple of toothpicks in the isopropyl. then use them to carefully scrape the top 'tongue' in the port, the bit nearest the screen. you'll notice the toothpick gets quite dirty. Do this a few times with fresh toothpicks (or cut ff the dirty bit with sharp scissors). Once the toothpicks aren't getting dirty any more, gently ease the tongue up, towards the screen a little, don't force it too much. Use the compressed air to give it a good blow and leave it to dry for a while. Its solved my problems, Battery Monitor Widget recognises that the usb is unplugged properly and no more warning triangles or poor battery performance. The phone, also gained an extra 20% of battery out of it.