XP + 7 (dual-boot) Problem


Hello. Recently, I recieved a netbook with XP Pro SP3 and a local Linux distro pre-installed. As I wanted the Linux alternative, replaced that distro for Ubuntu 11.04; ended up with a GRUB2 dual-boot which worked perfectly.
A few days ago, I decided to try Windows 7 in a separate partition (about 10 GB)- its MBR wiped out GRUB2, along with any possibility of booting into XP.
After many mistakes, I got EasyBCD, which seemed like a savior. Unfortunately, it doesn't support GRUB2, and I made an erratic entry for the XP partition. Then, managed to get GRUB2 working once again.
So, now I have a GRUB2 loader which shows all 3 systems, but can't boot XP; and, when "Windows 7 (loader)" is selected, a BCD menu showing both 7 and XP, yet here XP does boot.

Problem is, when XP is booting and it reaches the "log on phase", it starts looping logging in and out over and over again.
I heard it has to do with userinit.exe being rather corrupted or mislead by the registry: this points the file as being in C:\WINDOWS\system32\userinit.exe,.
Thing is, as Seven was the last Windows OS in being installed, it took the "C:\" drive for itself, leaving XP with the "D:\" one and corrupting it somehow.

All in all, I'd like to recover that XP partition as it is the most important one to me. And, if possible, would like to get rid of the BCD and boot all OSs directly from GRUB2.
I'd aprecciate any help.

PS: A few more facts:
- XP Pro SP3 --> 1st (/dev/sda1) [~90 GB]
- Ubuntu 11.04 --> 2nd (/dev/sda2) [~50 GB]
- 7 Ultimate SP1 --> 3rd (/dev/sda3) [~10 GB]


1st: GRUB2 loads. Shows all 3 systems. XP does not work here (a BCD's error message appears).
2nd (when Windows 7 is chosen): BCD appears. Shows 7 and XP. XP does boot, yet it never logs on.

XP = D:\ - Detected as just a data partition from within Seven.
7 = C:\ - Active

Hope this helps
Thanks for the quick reply, Terry.
Sorry for that mistake, I recall reading that in a forum.
Even so, what I'm most eager to repair is the XP partition- once repaired, then I may try BCD or GRUB2 combinations.
I'd appreciate any help in this regard.
It doesn't matter that W7 thinks of itself as C and XP as D. What each system letters the partitions as, is just a matter for itself, a set of virtual labels in its registry, individual to that system. The other system has its own set of virtual labels which do not have to agree in any particular. Disk letters are not fixed across OSs the way that volume labels are (entries in the HDD partition table).
However, if you move XP, such that its internal idea of where it is, conflicts with reality, that can cause schizophrenia in the OS.
Similar problems in Vista/7 are easily fixed because the boot gets far enough to allow regedit to run, but XP is more problematic.
There's high chance I have something like that in the PC (the XP partition seemed cloned).
I'm going to try what it says there, but by now I decided to jump to Win 7 (even though, I still want to know what happened).
Thanks again, Terry