Try running ChkDsk to check your drive for errors. Right-click your Drive icon/ Properties/ Tools/ Error Checking. Try it first by not checking either box (this will run it in a quicker Read-only mode) to see if it flags any hard drive or file problems. If it does, restart it by ticking both boxes, and rerun it to allow it to attempt to fix any found problems.
Run the Disk Cleanup tool and use the "More Options" tab to remove all but the most recent restore point.
You don't really want Restore Points going back too far as they will more than likely uninstall all programs or settings you have changed since your "go back point" causing you more problems than it may fix.
The average restore point is 25mb+ with a "first in, first out" policy on restore points. They contain mainly deleted or altered exe, dlls, shortcuts and a registry backup and user profile details. They do not contain users data.
Keeping restore points for a week seems adequate. Amount of disk space used depends on the size of your restore points. Some restore points can be as large as 500mb after major alterations to a system (ie a new service pack or several hefty program installs).
310312 - Description of the Disk Cleanup Tool in Windows XP
Physically check your User Temp file and the C:/Windows/ Temp. Faulty programs have a habit of writing realms of data to temp files and then forgetting to delete the temp files.
Your user Temp folder can be checked by typing %temp% in the Start Menu RUN box. This will open your Temp folder, there you can delete everything that Windows will allow you to do so.
It may be necessary to show Both Hidden and System Files, and also to uncheck "Hide known file types" in Control Panel/ Folder Options/ View, to navigate to the mentioned Temp location.
You could look at this type of software as an aid?
TreeSize Free V2.4