It doesn't sound like a hard drive problem. It's more likely to be a corrupt Windows file.
Try this:
http://www.computerhope.com/issues/ch000626.ht m
If that doesn't work, try entering Windows safe mode
http://www.computerhope.com/issues/chsafe.htm
and running System Restore:
http://www.computerhope.com/issues/ch000589.ht m
If that doesn't work, try starting your PC without entering Windows and then doing an 'on top' reinstallation of Windows XP. How you boot your PC, without entering Windows, will depend upon the configuration of your BIOS. However, many systems recognise an original Windows XP disk as a boot disk. Try starting the computer with the Windows disk already inserted. When you've booted the system up, type C:setup and press 'Enter'
If that doesn't work, try formatting the drive and then performing a clean installation of Windows. To do so, boot your laptop, without starting Windows, as above. Type C:format and press 'Enter'. Once the drive has been formatted, type C:setup and press 'Enter'.
If that doesn't work, it might really be time to change your hard drive.
Chris