This is a wild guess, and crosses over into SSD territory, but XP aligns on an offset of 63 whereas Win7 & Vista default to either 1024 or 2048 to align flash blocks to pages correctly (I think I have that sort of right). I think they align that way even if you have a mechanical drive installed since it prepares the OS for the future and is also actually really good for mechanical drives as well, but has never been stressed as important except in server-type circles. Believe me, you can tell a 64 alignment vs. 63 with even a SATA 1 laptop drive. LBA settings can be a culprit here as wll. I have had huge issues trying to get an SSD to align at 64, 512, 1024 or 2048 offests. This can be LBA setting and board-type dependent (My supermicro board has no issues in IDE Enhanced mode. My Asus ones are a pain with anything other than ICH RAID drivers). I have heard some success stories also with completely cold CMOS clears, removing any boot device, and turning off all onboard controllers except what you need for a hard drive and optical install drive when doing your initial install. That did not help me, however.
Long story short - you can get that blank flashing cursor or "error loading operating system" because XP SHOULD, but is NOT, starting at the correct offset.
I don't know how setting a partition as active or not applies in dual-boot scenarios.
Also, Vista and Win7 align with Diskpart, and Diskpart rounds its offsets. You MUST align XP partitions with Diskpar only (part of the Server 2003 utilities and you can still find it to download pretty easily). I don't think there is any reason you can't align Win7 or Vista with Diskpar, it's just a little less polished than Diskpart. You can align by just hooking your system drive up to even a USB port with a SATA-USB adapter. I've prepped SSD's that way on a test bed and then installed them into the desktop CPU and got XP to boot on it just fine. If you prep your drive, it's probably best to align them in IDE compatible mode, make sure they are set active, etc.
That's just a thought and FWIW.
Unfortunately, I've not heard of any reliable way to "nudge" XP from, say, 63 to 64 offsets. You can check the OCZ Second Gen SSD forums if you want to try. Some claim Acronis will if you use a 2-part move or special type of copy. I have no idea how that would fold into your situation with multiple partitions. Some have also tried taking away all the space up to exactly the number needed for a 64 offset in XP, but others claim that may be specious. I think you can check with msinfo.exe to see where the starting offset is. There is a simple formula that you divide the block or whatever by, and if you get 64, 512,1024,2048 or such you are fine.
Hope that helps. I suspect Win7 changed your starting offset and XP and/or the motherboard is not responding correctly.