Android will figure out the real capacity of your battery and charge it properly after that every time without bump charging.
That's not really how a LION charger works. I've spent quite a bit of time charging LiPo cells for radio controlled airplanes and cars, and I've learned what's really going on during the charging process. (If you don't, you can easily blow up a cell and cause a fire.)
Lithium batteries have a max voltage of 4.2 volts and a min voltage of 3.0 (Different formulations can vary a little, but you'll never go wrong following that rule.)
A Lithium charger will charge your battery to 4.2 volts
and then turn off. There's no "teaching" involved; the charger should always shut off at 4.2 volts, no matter what's going on. When your battery gets down to 3 volts, the phone should turn off and not turn back on until the battery voltage gets
back over 3.0v, or you apply power to the charging port.
The thing is, you can't read battery voltage while charging the battery, so the charger stops charging for a short period of time to read the voltage. This cycle is constantly going on while you charge the battery.
If the phone charges the battery for a little longer while the phone is off, the most likely scenario is that the phone is drawing the battery down a little during the reboot process, so the battery's voltage has actually dropped a little.
"Bump-charging" may actually work - it's putting a few more mA in to the battery - but I don't think you're ever going to train the charging circuit; the charging circuit is supposed to simply push the battery up to 4.2 volts and stop... no training involved. (The "training" only affects the "percent left" indicator on the phone. The voltage reading should never change its calibration over the life of the device.)
Of course, it's possible that HTC's charging process is defective, and that it's not actually pushing the battery up to 4.2 while the phone is turned on. That wouldn't surprise me one bit...