When you Ghost a bootable WinXP drive to a new drive - ALWAYS boot the new drive ALONE on the target system and RE-BOOT as soon a you get the "new H/W detected" message referring to the new HDISK. This prevents the new drive getting locked in on a D:(or other bogus) drive letter assignment. The symptom of locking up at the login screen indicates that the drive got locked on to a Drive letter other than the C:.
This happened to me when I just swapped the cables IDE1 & IDE1 after ghosting - thinking this would reverse my letters. Instead, I got a new 120GB drive booting on IDE1 as D: and my old filled up 20GB as C: on the IDE2 channel. This produced the login to lockup senario. Simply re-ghosting the 120G drive to a spare 40G and then ghosting back, then booting the 120G by iteslf fixed the problem.