There seems to be a bug in Windows XP Service Pack 3, specifically with the file sbp2port.sys (used for communication with Firewire/1394 devices), that will often cause XP to hang, especially at boot time.
The solution is to roll back to the version of the file included with Service Pack 2.
You can find a quick explanation of the fix here:
I specifically had problems using the Firewire port on external combo Plextor drives with WinXP SP3, until I reverted to the older version of sbp2port.sys. Once I did that, the problems went away.
The following thread talks more about this and similar issues: