I also tried to install WindowsXP (64bit) after Windows2000 professional (32bit) on two different partitions, but then Windows2000 didn't boot anymore. Even if they are on separate partitions the share the C:\ for the bootloader. I don't believe it's a 32-64 bit issue, but I have no time to investigate.
I feel better this way (each OS with its own bootloader):
- install (or keep installed) Windows "A" in its proper partition (e.g. the first one);
- add a partition to hold Windows "B" (e.g. the second one);
- use the preferred tool (e.g. grub) to hide partition "A";
- install Windows "B";
- install grub on the mbr of the hard drive and make it reading the menu.lst containing:
title Windows A
unhide (hd0,0)
hide (hd0,1)
rootnoverify (hd0,0)
chainloader +1
makeactive
title Windows B
unhide (hd0,1)
hide (hd0,0)
rootnoverify (hd0,1)
chainloader +1
makeactive