I believe it could be a few possibilities which I would try to list as below:
Note: For your case, I assume that you mean "sleep" as in "standby/suspend to ram" (S3), not "save program state in HDD" as in "Hibernation mode" (S4), based on ACPI spec:
ie. Sleep => program state is saved in RAM (all lost when power out), Hibernation => program state is saved in HDD. Not affected by power loss.
- Possibility: Battery issue
Could it be because the battery could not hold charge or battery controller circuit is not stable. You mentioned after "close the lid for the night", "90% of the time it shut down". It could be because the laptop lost power and all program state saved on RAM became lost due to power outage.
You may trouble-shoot this issue by removing battery, and leave the power connected to the unit without battery. If the problem goes away when you remove battery, then you can rule out OS/System issue.
- Possibility: OS issue
You can check EVENT VIEWER in windows by:
1. Start -> Run -> type "eventvwr" or you can access via Control Panel
2. Once inside Event Viewer, select "System Log" (or other log) to check for error message that may give you a better clue.
You can trouble-shoot this issue by Re-installing Windows (Fresh Install, or Factory Recovery) after backing up all your data. You may also set up a Dual-Boot to Linux to see if the behaviour is the same under Linux. If the behaviour is normal under Linux, there is a good chance that it's issue in Windows OS.
- Possibility: BIOS issue
You may contact the tech support or manufacturer website to get the latest BIOS that may have solve earlier bugs.
- Possibility: Motherboard issue
It could be some component is near damage so the behaviour become unstable. If after you tried everything else mentioned above and the problem still remains, it's most likely a motherboard issue.