Well, depends on how you look at it really... Win32 does use a 32-bit interger to track time, but it does filp it at it's max and store this filp in another variable. I was incorrect in thinking it was the BIOS, but this flipping is well known to those that track time as this issue was really big on Win9x as they didn't have this second variable to track it. There is a fix for it tho*. Most of your win32 uptime trackers are clueless of this too, but there are those that read it right. dduptime** is a great one, imho, which also happens to come with a mIRC formatted DLL for reading the time out of it.

Cheers,
GregMo

* http://support.microsoft.com:80/support/kb/articles/q216/6/41.asp&NoWebContent=1
** This is a hard one to find because the author's site is down. If ya want it, should be able to find it on google. If not, give me a shout, I have it around here somewhere.