How did you end up with the boot files for Windows 7 and Xp on D? It's a strange arrangement. Normally if on a dedicated partition they would be on System Reserved which is only 100mb. What do you have them mingled with on D?
But boot files would have to be on a primary partition to continue booting Windows 7 on a Logical partition (intended for data) which cannot host boot files.
Since XP is also on a Logical partition and doesn't contain boot files (the Boot flag only means it is the OS which is presently booted) you can simply delete it in Disk Mgmt and recover the space into Windows 7 by extending it into the deleted XP space: Partition or Volume - Delete Partition or Volume - Extend
But when you boot into Windows 7 if it is not showing as C then you may have incorrectly installed it from XP which locked out the C drive letter. Windows 7 is designed to be installed from a booted installer so that no matter how many other OS's are multi-booting it will always show as C when booted. Most users don't want Windows 7 on another letter than C, so you may want to consider doing a Clean Reinstall - Factory OEM Windows 7
(same for retail).
If you do this then I'd delete all partitions and start over with a decent partition scheme created by the installer which will issue the 100mb System Reserved boot partition once you delete all.