I had two hard disks on which I had setup Windows XP and Windows Server 2003 to dual boot. Last week I disconnected the two hard disks, added an old IDE hdd and installed Ubuntu on it. As long as the ubuntu hdd is the lone one installed in the pc it works fine. But when I connected all the three hdds to the pc, ubuntu does not boot. However Windows XP boots flawlessly, though it cannot "see" the ubuntu hdd which has an ext4 filesystem.
I dont want to dual boot ubuntu and XP by installing them on the same hdd on different partitions. I want a separate dedicated hdd for Ubuntu. Could someone please help me on how to do this ?


You should have kept the one with Windows installed, and got Ubuntu to set up its boot manager to allow multiboot.
As is, neither boot manager (Windows or Linux) now knows about the other OS, and the machine will boot the first harddisk it encounters (which appears to be Windows).

Maybe this can be resolved by changing the boot order of the harddisks on the cable (which might involve setting some jumpers on the disks), then under Linux modifying the boot manager configuration.

As stated, you did not install the boot manager (Grub) to allow booting non-windows OS's. If you know what you're doing you can use the Ubuntu live CD and install Grub to the MBR and edit the menu.lst file, but probably the easiest way is to put all the drives in, reinstall Ubuntu to the drive you want and let it install Grub to the MBR on the first bootable drive. This will give you the option to boot all three OS's at startup.