If it's Windows 98, that's your problem. (I don't know if it occurs in ME as well.)
Windows 98 starts a timing loop when it boots to keep track of the time internally. After as little as a few hours, Windows' copy of the time can be WAY behind your system's internal timer. If you look at the time Windows shows you and reboot, you'll notice the time is back to normal again. The time Windows shows you is only used by Windows and is reset when your computer reboots and Windows reads the (correct) time from the RTC (real time clock).
To solve this problem, I downloaded a utility called
AboutTime. You can set it to connect to a time server over the Internet and update your clock at specified intervals. Even with mine set to check every 5 minutes, my clock is still off by 4 seconds each time it checks. If I wait longer, my clock is just slow by even more.
Windows 95, NT, and 2000 don't have this problem.
I hope I helped you out... If you're not using Windows 98, then I'm not really sure. =)