It's always best to install the oldest version of Windows first. It won't be aware of newer versions, so won't be able to setup a dual boot.
Seems to me the drive letters are changing around here.
You say Win7 is on C: and XP is on G:
Then you say when booted to XP, ntldr is on C: where XP is.
What we need is the drive letter that ntldr, boot.ini and ntdetect are on as seen from Win7, as it's Win7 that loads the ntldr. The above commands in post 6 to add XP back to the boot menu assumed that those files were on C:. If they aren't, it won't work. The commands would have added Windows XP to the boot menu, but it wouldn't be able to boot. The 0xc000000f error means it couldn't find NTLDR where we told it to look, on C:, so that probably should have been G: (the red letter in post 9). You can delete the entry using this:
BcdEdit /delete {NTLDR} /F
Then create it again, using the correct drive letter
Did you first have XP installed, then installed Win7, and it was working?
Did you install Win7 to the same partition as XP, or to a different one?
Was that partition on the same physical hard drive, or a different one?
When you re-installed XP, did you re-install to the same partition as it was originally on?
If you can post the contents of the boot.ini file, and a screenshot of the Disk Management screen while booted into Win7, that will help to see what is located where.
Also, if you can post the output of the bcdedit command:
Open an Admin Command Prompt
type bcdedit and press Enter
Right click in the Command Prompt window, click Select All (this will highlight the entire window)
Press Enter (this copies the text to the clipboard)
Switch back to this thread, right click in the Reply window, and click Paste
Jerry