It is always better to install OS's on separate HD's if able. Then keep the other HD unplugged during install, after install plug it back in, set the preferred OS HD as first to boot in BIOS setup, boot the other one using one-time BIOS Boot Menu key.
This keeps the HD's independent to come and go as you please, wherease Windows Dual Boot interlocks them requiring surgery to remove one.
In your case with having XP on the same drive, a repair Install will always steal the boot back from Windows 7 until you either add it from XP using EasyBCD 2.0, or start Windows 7 (using the steps you followed) to add XP from Windows 7 which is often easier.
But since you're able to have separate HD's you can get a much cleaner configuration booting via BIOS. Or try XP Mode in Ultimate, or Virtual machine, VIrtual Player or VMWare freeware to virtualize XP to avoid the mess.