This is not normal behavior. Although I have had trouble with my clocks losing seconds, I have changed the sync interval with the internet and that has keept my recordings on time.
1. My gut tells me this is a chipset problem...check for updates to your chipset drivers. If Intel chipset, google: Intel Chipset drivers and Intel will provide a utility to download and update the drivers.
2. If that fails, you can change the interval for syncing with an internet clock:
SpecialPollInterval
Registry path
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W32Time\TimeProviders\NtpClient
Version
Windows XP, Windows Vista, Windows Server 2003, and Windows Server 2008
This entry specifies the special poll interval in seconds for manual peers. When the SpecialInterval 0x1 flag is enabled, W32Time uses this poll interval instead of a poll interval determine by the operating system. The default value on domain members is 3,600. The default value on stand-alone clients and servers is 604,800.
For more information check this article: http://technet.microsoft.com/en-us/library/cc773263.aspx#w2k3tr_times_tools_uhlp
1: Dimension 9200 - Vista Ult, 2.4GHz Q6600 Core2Quad, 4GB RAM, 160GB, 750GB, 500GB USB, Nvidia 8300GS, PVR-150, HDTV Wonder, Vbox 3560, X360, DMA2100
2: HP m376n - MCE 2005, 2.6 P4 w/HT, 1GB RAM, 250GB, 400GB USB HD, Nvidia 6200, Emuzed MAUI, X360