I had a similar problem and the only way to fix it that I found was to reinstall XP on top of itself.
Before reinstalling XP, first try this. Go to System Restore and turn off restore on all your drives and reboot. This erases any past restore points, which may be corrupt and preventing system restore from working. After rebooting, re-enable system restore and try setting a restore point. If it doesn't work, then do the following. Guaranteed to work 100%.
Insert your CD and let it begin the install process. You'll get a screen that asks what type of installation you want to do. Choose "Update current system" and let it go to town. It'll replace any damaged files and will keep your current setup to boot. All you lose is about 45 minutes of time.
After I did this, my system restore feature worked perfectly. There are many threads on this site that deal with System Restore, but I found none of the troubleshooting techniques would help me.
Good luck. Hope this helps a little bit.