pay attention to what you are doing...seriously
example:
what are your drives
you have an internal SATA drive?
you are using an eSata Drive? this is D?
1:
go into bios and see which one boots up first
chances are it's seeing your D as the priority boot...you can always keep D turned on before you boot and keep it as second, to maintain proper boot order.... OR
2:
if sata, this is an example...you might have 4 sata connectors, labeled 0, 1, 2, 3
C might be connected to 1, 2, 3 and D might be connected to 0 (or any combo with D being the lower number than C)
if this is the case, 0 is priority in default
I save myself the trouble, turning on my eSata drive whenever and not worrying about boot order by making sure my C is connected to 0.
Now, this problem occurs because you have 2 drives that are boot capable. The D drive most likely has no "windows" boot up data, but has an MBR. The system halts on D because it sees the mbr and does not continue.
another suggestion, just imo, don't mess with the mbr