Install XP first, use it's partitioning tool but leave space unpartitioned so Linux can use it.
I don't know if you can "fix" your system.
I looked at threads with similar issues, but none offered me a solution.
I did a complete reinstall of my computer (previously Win98/Mandriva dualboot, pretty messed up). Now it would be XP/Mandriva dualboot.
I have 2 hard disks - old 20GB as primary master and new, 40GB as primary slave.
Installed Mandriva and used its partitioning tool to repartition disks. First disk fully for Win, on the second disk I made 29GB fat32 partition for sharing files between OSes. In the end of the disk went all the Mandriva partitions.
Mandriva works fine and can see all the partitions on both disks.
Then I proceeded to install XP. Installation saw both disks but said it cannot access the secondary one. Install went otherwise without problems. XP came up but cannot see the other partition. Device manager sees both disks and says that they are working OK but Disk Manager does not show the other disk. I deleted the partition, leaving unpartitioned area (using Mandriva again) but it did not help.