Keep in mind that Batteries are known for developing a "memory." Newer batteries don't have this issue as much, but it's still a problem.
What that means is this; And this is just a hypothetical using made up units to demonstrate the point.
Your battery can hold 100 power units. As it charges, it fills said power units. So you use the battery from 100, and use 50 units. Now the battery is at 50% life. You plug it in and charge back to 100. The same thing happens over and over, and the battery has a tendency to now think that 50 is the new 0. It can hold 100 units still, but because of the many times it was plugged in before being actually at 0, it moves the "empty" marker to that spot. Basically, the battery thinks it is empty when it hits 50 even though Windows can see it has plenty of juice left.
Given everything you've said... my money is on your battery just developed a memory. I've not yet found a way to resolve this as it has something to do with the onboard power controller. Get a new battery and follow the charging instructions! New batteries are just waiting to set the empty and full markers so seriously, follow the instructions. I've replaced a few and walked away, inadvertently ruining the battery because I didn't disconnect at the proper percentage. You wouldn't think these things would be so fickle... but they are.