Come on guy when a Windows boots up it can't have another Windows in front of the booting queue otherwise those behind can never boot. That is why we need hiding.
Hiding is an established technique as old as the first generation of Dos. The partition isn't hide at all. It just got its partition ID changed so that the booting M$ system doesn't realise it is one of its, treats as non-DOS and so no need to give it a drive letter.
The actual hiding mechanism involves just flipping the 5th bit of the byte in the partition table denoting the partition ID. Fat16, Fat32 and NTFS have ID 6, b and 7. The hiding command changes them to 16, 1b and 17 while unhiding will revert them to the orginal status. Every decent boot loader uses it. So what is the hang up?
Several copies of the same or different XP can coexist in a drive. Mr. Gates never told us it can be done but Linux is different because both Lilo and Grub can boot them When NTLDR can't. In practical term it doesn't matter at all because one XP just sees the other XP in another drive. One set of system files can never be mixed up with another. You can put XP in different drives too because Grub has a command to "re-map" the disk order on-th-fly and so every M$ system can be booted to a "C" position no matter which disk or partitions it resides. Each XP checks the hardware cahnge on a boot up as no hard ware has been altered of course XP will work. I have tried it with 4 copies (same installation) before.