with lithium based batteries you definitely do not need to completely drain the battery before you recharge it.
As I understand it there are two possible explanations here:
1) Your battery is broken. If nothing in 2) helps, get a replacement battery.
2) Your battery stats have gotten screwed up somehow.
Depending on what version of android you're on this can be fixed by either:
a) doing nothing for a few days and seeing if the stats start behaving normally. I would recommend you start with this.
b) wiping your battery stats. There are a bunch of apps that can do this, or you can do it from CWM.
If you do wipe your battery stats, your phone will probably report weird battery usage for a couple of days. See a).
Hope this helps.