Had similar issues with XP. This worked for me so should also work with Vista.
Xp was installed first, then Windows 7 added as dual boot. Now no need to keep XP. However boot files are on XP partition so you cannot just delete/format the XP partition.
So get EasyBCD 2.0 latest, you need to register but it's free.
Check Windows Disk Management for the "system" flag.
If it's not XP, you can go ahead and format it.
If it is XP, use EasyBCD 2.0 latest build
/ Diagnostics Center/ change boot drive
Point it at your Windows 7 drive.
Reboot (remember to change BIOS boot sequence if they're on different HDDs)
delete the XP entry from the BCD using EasyBCD
I know it works because I have just done it.