In Windows Explorer highlight your C: drive. Do you see the files NTDETECT.COM, ntlr, boot.in, and i'm not sure what other ones, but basically XP's boot files in the root of that partition? I'll answer: yes. Basically, C: IS your boot volume.
My theory: During installation XP set itself on the paritition it wanted. Somehow the accident was made that you selected the D: partition for XP when it came up with the list of partitions to install on. I believe something along these lines happened during the initial installation, or during the repair installation you mentioned.
Is there an easier way than a total format and clean install to fix this problem? I really don't feel like backing up 50 gb of data AGAIN.
I don't know if it's possible to dual boot XP with itself, but that may be an alternative to what you suggest. Install XP on the C: partition, modify the bootloader when you're satisfied it's running ok on the C: partition, and format the D: partition.