XP/Vista/7 triple boot problem

Hopefully someone can help.

I had a perfectly good dual boot Vista and XP system until I installed Windows 7 RC.

I installed Windows 7 RC to a new partition on the Vista (slave drive) with XP installed on the master drive.

Vista and Windows 7 booted okay but despite there being 3 options in the boot menu - Earlier Version of Windows (XP), Vista and Windows 7, XP would not (and will not) boot.

The error message when selecting XP from the boot menu was that the boot.ini file is invalid; I then get a message saying that the system32\hal.dll is corrupt or missing.

I used EasyBCD to restore a backup of the previous Vista boot loader which worked with XP. Windows 7 disappeared from the boot options but I still cannot boot in to XP - I get the same error message (boot.ini and hal.dll). I can boot in to Vista.

EasyBCD tells me that there are 2 entries in the Vista bootloader:

Entry #1

Name: Earlier Version of Windows
BCD ID: {ntldr}
Drive: C:\
Bootloader Path: \ntldr

Entry #2

Name: Microsoft Windows Vista
BCD ID: {current}
Drive: F:\
Bootloader Path: \Windows\system32\winload.exe
Windows Directory: \Windows

But when I use msconfig in Vista it tells me that there is only one OS - Vista.

Is there anything I can do to restore the boot information that allows me to start XP - the boot menu entry is there but I can't boot XP.