It does not help to use system restore.
That is worrying !
I have a few non-destructive ideas:
Definately take Effortless' advice and choose logged startup to create a bootlog.txt file. (upon boot - bang the F8 key repeatedely to get to the XP startup options)
Try disconnecting all external hardware (especially USB) and see if that helps.
Plug in 1 by one to isolate if this allows you to boot normally
Once up and into XP, click START > RUN and type msconfig. In the Boot TAB choose Diagnostic Startup - If you can restart OK - uncheck items in the Services TAB and Startup TABs until you've found the culprit. A simple registry edit or driver/program re-install may be the cure.
Good Luck