You might try doing a factory reset on the phone. Assuming it works the way my old Tilt did when I was running Android on it, the phone stores information about the battery's charge status, capacity, etc internally, and if that somehow got corrupted that might explain the issue. Not sure if a factory reset would help in this situation, but it is worth a shot.
Also, when you charged the phone, did you turn on the phone or just let it sit at the "off but charging" screen? If you turned it on, try letting it stay on that screen, and then turn it on when it is fully charged (if it does charge there), and that might get it to reregister the battery level. That is the type of thing that I had to do to calibrate my Tilt's battery when using Android. Probably a good idea to give this a shot before attempting the factory reset, since it is relatively simple to do.