I wonder if the problem could be that there is a hidden initial partition and the boot loader actually isn't located in (hd0,0).
You might try using the Grub CLI, and autocompletion to see if (hd0,0) is the XP C:\ drive. If all else fails, you could search this site, or the www.tldp.org
site for documentation on multibooting using XP's ntldr program. This would use windows XP to chainload grub instead of the other way around.