I find repair installs are a pain, with the multiple rounds of windows updates that follow, and the possible validation grief that Microsoft may give you.
Another possibility when there is an existing working install, but the XP bootloader does not want to be fixed by other methods, is to install another copy of XP to the same drive.
Assuming you have a recent back-up available, and there is enough space on the drive, of course.
The xp installation routine tells you that there is another version there, but do not upgrade it, or reformat the drive, or install to another partition. It tells you that it is not recommended, but press "c" to continue.
On the next screen select "leave the current file system intact <no changes>"
On the next screen press <ESC> to install to a different folder.
On the next screen change the suggested name of "\WINDOWS" to "\WINDOWS2", or whatever else different from the original installation.
Press enter and the install will continue as normal. Halfway through the install, after the blue console screen reboots you should see the new boot menu with two xp entries, and you should be all right. You will need to enter your product key.
You should end up with your original XP installation, and a new windows installation, and a boot menu with options to boot into two choices of XP, one of which will be the original system, the other new.
Now you can either keep both, or edit c:\boot.ini after unhiding it to remove references the newly installed system, get your original boot back to c:\windows, and delete the new installation. On systems where the original XP was broken, you can use the new installation to back up files and sometimes to repair the original.
It can be useful to use the program nlite to master a cut-down version of the XP installation CD with the unattended option just for such an occasion to cut down installation time.
It is also handy to have a bootable disk with NTPASSWD by P. Nordahl, in order to avoid the lost password situation in future.