My CMOS settings keep restoring to defaults, but I've changed the battery and that's not resolved the problem.
It happens when the computer's been switched off for a while, but also when it takes a slight knock or I plug or unplug a peripheral (notably speakers or mic into the integrated audio sockets). It doesn't happen on a machine reset or a Windows restart.
However, it can also happen while I'm using Windows normally, not touching the machine; this causes Windows to slow down and eventually hang completely. I then have to do a machine reset, and find that the CMOS has gone back to defaults.
What's more, while most of the time the CMOS date resets to 1 Jan 2005, sometimes it resets to 1 Jan 2000; when the latter happens, it doesn't allow me to change the year, Windows won't boot properly, and a Ctrl+Alt+Del restarts the PC but doesn't POST.
It's an Abit UL8 motherboard, about 3-4 years old.
I suppect you have an intermittent voltage short on your motherboard. Since you mentioned that it happens with a slight knock of your motherboard, I would check the motherboard mounting screws to see if they are shorting out motherboard traces. Both top and underneath the motherboard need to be checked. Also, look for a stray wire or plug that might be touching the motherboard. You might have replaced one dead battery with another dead battery. (Did you dig that battery out of your junk drawer? I've done it myself.)