OK, because the time
doesn't correct itself, then we can't be sure just yet what's causing the problem.
Windows pulls the time from the BIOS/CMOS clock during the boot process. After Windows is finished loading, the internal clock is all software and needs resources to keep up (though it doesn't take much). If you're system slows to a crawl or freezes like you mention, then this clock
will fall behind. It's just a question of how far.
This is where it gets complicated. The Windows clock doesn't make a call to the CMOS clock unless told to do so. Therefore, the Windows clock can fall behind "without" affecting the CMOS clock. That is why the time can correct itself the next time you reboot.
What's happening to you seems odd. Perhaps there is some kind of software running that is
saving this "loss of time" to the CMOS? When you open the clock's properties and hit OK, for instance, the new time is set in the CMOS.
One thing is for sure...you need to increase the amount of available resources. Use
msconfig to turn off apps that are loading with Windows. Start with the basics then work your way back up one at a time until you find the culprit.
Good luck!
~cdogg
"The secret to creativity is knowing how to hide your sources."
- A. Einstein