pay attention to what you are doing...seriously
what are your drives
you have an internal SATA drive?
you are using an eSata Drive? this is D?
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
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