Then I read your message, was I thinking about a dirty Windows register and a bad volume.
What I can saying is, it is important that you take care that you have a clean Windows register and a good volume.
When the register is dirty and then also a bad volume, then is it possible that you get problems just like freezing and over heating or what you told, sometimes hanging up the system.
Also is it important that you take care that you once a time clean the inside from your computer.
When a Cpu-cooler is closed with dust, then get you that the Cpu will be over heating.
Your problem is difficult, but I think that it is smart that you clean your pc. after that, then when you have a repair partition, start up your pc. in the repair partition and run chkdsk /p then repair /r .
When you have to do that, then clean the Windows register via CCleaner.
I think that your problem is then over.
The link to CCleaner is here below:http://www.piriform.com/ccleaner