You may have a hard drive going bad.
Your system has built-in hard drive diags on it. When you boot the system, press ++D . It should run some diagnostics on your hard drive. If they fail on the Primary Drive 0, then your hard drive is b0rked, and you need to get a new one.
If that comes out okay, it's time to examine your filesystem. Boot from your Windows XP CD, then hit R for Recovery Console. It will scan for all of your Windows installations, and ask you which one you want to log into. Choose the appropriate one, and enter in the Admin password for it. That will get you, normally, to a C:\WINDOWS prompt. From that prompt, run these two commands:
chkdsk C: /R
bootcfg rebuild
The first command scans your filesystem, and attempts to repair any errors. Depending on the size of your drive, this may take a while. The second command helps you rebuild your boot.ini file. For more information on the bootcfg command, check here:
http://www.microsoft.com/WINDOWSXP/home/using/productdoc/en/bootcons_bootcfg.asp
Once all this has been completed, simply remove the XP CD from your drive, type exit, then restart the computer.