This is one of the problems of "self fixing" Windows XP will fix itself at boot-up because it cant do it whilst its using the files. You could download one of the third party tools that will have a bash or you could use the recovery console.
The Recovery Console can use the Repair folder in C: that contains a copy of the system's registry hives that were created after the first successful startup of Windows XP. Thats where it will get the files it needs so boot to the recovery console and type this...
Go to Recovery Console and type:
ren system system.old
ren system.alt systemalt.old
Hit enter after each line.
If you would rather, you can contact M$ for a fix to disable the auto fix. click here then you will be able to see whats happening
As said you could use system mechanic or any of the third part tools to try and troubleshoot the problem.