Actually, if programs still default to a specific location *without prompting your, it will likely use %SystemRoot% or %ProgramFiles% variables set in the registry, so it will still show up on the D: drive.
I purposely have my home PC use D: for all of my Windows operating systems, even though they are not the same D: partition in each OS. Using this method takes some serious planning and discipline.
Regardless of what version of Windows you use, it needs to write boot information to the C: volume. I always use FAT16 for my C: drive, as it is usuable by all versions of Windows from 3.1 and NT4 (3.51, if you want to get technical) through the latest 2003 Server releases. I can only imagine that Longhorn and friends can easily handle FAT16 as well. On this C: volume, I will put common files that I may want to use across all OSes, like bookmarks/favorites, temp files, and virtual memory (swap space, page file). I also put DOS utilities like Ghost and Ranish, in case I really FUBAR something.
NOTE: C: does *NOT* have to be the first partition on the drive, if you intend to run non-MS operating systems. I currently have FreeBSD on the first partition of my drive, with a second partition set aside for Solaris. Since I intend to use an extended partition and logical volumes, I had to make my thrid partition the FAT16 C: volume. With any Windows, C: must be a primary partition.
If you want to do "natural" installs (as in, the way MS "intended", without the use of third-party tools), it is a general rule to install the oldest Windows release first. Start with all of the DOS-based release (Windows 3.1, 3.11, 95, 98, 98SE, ME), and then do the NT-based releases (again, oldest-to-newest: 3.51, 4.0, 2000, XP, 2003 Server.) I think you can only install one DOS-based Windows release without using third-party tools.
In order to ensure that all of my Windows partitions had their own D: volume, I effectively had to create those logical partitions in reverse order. In other words, I have to get the D: volume for my oldest Windows release "further" into the drive. To make it a little easier for myself, I essentially made dummy Linux partitions to consume the space I would use for the newer Windows releases. No release of Windows will assign a drive letter to the Linux partition.
Since I've probably lost a few of you, I am writing a post that will be the start of a new thread. Standby while I get my thoughts together. 🙂
-SUO, partition guru?