If your Mac isn't sleeping properly and you have gfxCardStatus installed, try uninstalling it.
The link below should answer most, if not all, of your battery/charging questions. If you haven't already done so, I highly recommend you take the time to read it.