I've tried to use fixmbr (from the Windows XP Recovery Console) and pointed it to C:\, but broke it!
Now I have:
D:\Windows - with no ntldr
C:\ - broken inaccessible partition with Grub and ntldr

How can I repair C:\? (I only have Ubuntu)
That should cause it to boot from the C:\ partition with grub/ntldr. I'd highly suggest testing to make sure that you can still boot after doing this, before reformatting the Linux partition. If it fails, then it's simple to fix.