I will try
Drive letters are normally assigned by Windows...in the order in which a drive is detected...with one exception. The optical drive is obviously the first drive detected when installing Windows from CD...but it always will receive the D: letter, assuming that there are only two drives (hard drive and an optical drive) attached to the system and, therefore, recognized as existing.
These rules do not apply to any OEM system where a manufacturer has installed Windows and possibly also created either hidden or additional partitions.
Sooo...when I install XP, I have one hard drive connected...with nothing on it...and an optical drive. The optical drive is set up as D: and the partition I create and install XP upon...is set up as C:.
I have no card readers or external drives or USB drives attached, since these can interfere with the hardware recognition process.
Once XP is installed, I open it and decide to create additional partitions on my very large hard drive. I create a storage partition of 100GB and Windows assigns the letter E:. I create an additional storage partition of 150GB and Windows assigns the letter F:.
I then decide to install another version of Windows...on the same hard drive. I use my install CD to create the partition and install Windows and it assigns the letter G: to that install...because C:, D:, E:, F: are already accounted for and in use.
I now have a dual-boot, if I have done everything smartly. One version of Windows as the first recognized partition, one version of Windows as the last recognized partition.
All is well and makes sense...until I boot into the other version of Windows. Windows will designate the version which is operative and booted into...as C:...as long as it is being used.
So once I boot into the version which had been F:, it becomes C:. The version which had been recognized as C: is now seen as D: from the second version of Windows. All the other drive letters assigned will probably also change...I say probably because a user can make a drive letter assignment "permanent" by giving it a letter such as "W" or some other letter which won't have a conflict with another partition/drive already having that letter.
Bottom line...only one version of Windows can run at a single point in time...that version will always be seen as C: from within that install. It really doesn't matter what letter is assigned any other version of Windows from within that install...Windows only sees it as just another drive/partition.
Until it is booted into...the drive letter is unimportatnt. Once booted into, the drive letter will be C:.