XP is pretty old, and lacks a lot of the new security features. It will always be more vulnerable than any other operating system you can obtain today.
To fixing the registry: I do not have enough Windows experience to say. My guess is that it is possible, but extremely difficult and risks breaking something else.
The best bet is to boot a Linux livecd, use it to copy your files to an external drive (passing them through a virus scanner like ClamAV first, since the malware may be hiding somewhere in your documents) and then format the drive and install a new OS. My recommendation would be Linux, but if you must have Windows you are better off with a newer version, preferably Windows 7. XP is nearly 10 years old now- it doesn't have the ability to defend itself adequately.
_________________
WAR IS PEACE
FREEDOM IS SLAVERY
IGNORANCE IS STRENGTH