The fact that chkdsk runs at boot...is indicative of the fact that either the chkdsk /r command needs to be run after the system boots into Windows (because the one running auotmatically isn't doing the job) OR the hard drive/file system may have problems that need address.
I suggest...go Start/Run...type chkdsk /r and hit Enter. Type Y in response to onscreen query and hit Enter. Reboot the system. The chkdsk /r command will execute...and then boot into XP.
In the event that chkdsk /r cannot complete or flashes an error message and stops...please write it down and post same.
Let us know how it goes