This may, I hope, be helpful and might even work in more than my case. I
purposely created a C:-drive that contained the page (swap) file from my
previous installations of XP before reinstalling any operating systems (I
deleted them all and left only my data partitions on my two hard drives);
this partition is my only FAT32 one. I then created each of three instances
of XP in the unpartitioned space at the beginning of the first drive (which
contained my data partition and the page partition at its end. XP, unlike
Vista, goes ahead and creates partitions for you in the unpartitioned space
and lets you designate the drive letters (if you choose the Advanced option).
My XP partitions stay at their designated drive letters in all three XP boots
(Drives K, L, and M).
I then created two partitions at the beginning of my second hard drive and
gave them the letters N and O; I did this in Disk Manager of XP. When I
installed my first instance of Vista, it installed into the first partition
and retained the drive letter I assigned. In all instances of XP and in Vista
the drive letters do not change. I think it is because I effectively "tied
up" the C: drive before installing anything. I have not installed my second
instance of Vista yet but I am somewhat confident that it will install as the
O-drive I designated.
I am using dial-up so I can't respond quickly to posts.