What has happened is this.

You had Windows 7 installed on it's own. You created a new partition and then installed Windows XP.

When you boot up, (start the computer), you get the Dual Boot menu and XP works from there, but Windows doesn't.

Correct me if I am mistaken so far.

Assuming I am correct, when you installed XP the Windows 7 BCD, (Boot Configuration Data), on the Windows 7 partition was overwritten by XP's own boot.ini file.

XP's boot.ini does not allow Windows 7 to boot up and there is no easy solution to this.

You can try bootrec from the Windows 7 DVD, but you may end up having to reinstall Windows 7.

How to use bootrec; http://support.microsoft.com/kb/927392

Mark