|Probably there is a file tables error on the drive. Use the XP disc in Recovery Mode and do a chkdsk /f on the drive, and then try booting. I do not recommend a chkdsk /r on data that is not backed up.|
Next, try a start up repair from the XP disk. Lookup the fixboot, fixmbr and bootcfg commands.
Next, you can do a repair install. Done correctly, it will not wipe existing user files.
Lastly, you can rescue your files with a live linux CD. Actually, this would be good to do first, before anything else, for safety's sake.