If I may ask, what is the reason you are using "Dynamic" partitions?
Vista and 7 use a "System Reserved" "Primary" 100MB partition to hold the boot code, to be a boot partition, and provide a boot menu when more than one OS is installed. Windows does not allow the change of the drive letter when the partition you want to change is the one with the boot code and Operating System being used. So when you boot to Vista, you cannot change the Vista drive letter, and when you boot to 7, you can not change the 7 drive letter. I have found that using the 100MB "System Reserved" partition allows for giving other partitions any drive letter.