Sometimes you find that chkdsk runs almost everytime during Windows XP boot up. This can be caused by various factors including hard disk fault or filesystem corruption but there's one really peculiar incident I've come across where Internet Explorer 8 (IE8) will mark an NTFS volume as dirty. If IE8 wasn't launched, then there's no problem. Your next boot up will be normal. However once you launch it, expect a chkdsk on your next boot up.
Initially, I had attributed it to a virus or spyware infection since this particular computer did have a pretty serious looking virus problem. Turns out the virus angle merely served to put me on the wrong trail.
Fortunately, searching through Google for a solution had given me a nice 'tool' for seeing if there's going to be a chkdsk next boot or not. From the command prompt simply run the following:
:\> fsutil dirty query drive:
Replace drive with the appropriate drive letter. The command will tell you if a volume has been marked 'dirty' or not. Dirty volumes will be checked on the next boot.
In the end, the quick solution I found was to remove IE8 and either stick with version 6, or simply install the slightly older version 7. Alternatively, I could do a complete reformat but that seems a bit extreme for just getting IE8 working as intended.