I think it might be VisualD specific, and it seems like a version mismatch.
In sc.ini I have: VCINSTALLDIR=C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\ (note: the vs2012 path)
And beneath that path exists mspdb110.dll, but apparently the version of link.exe that VisualD invokes is looking for mspdb100.dll, which it doesn't find.
We had some discussion where VisualD should try and override the sc.ini paths with the paths that were actually appropriate for the version of Visual Studio being used at the time. This is important to eliminate other version conflicts when linking VC C/C++ and D projects together within one solution. Visual Studio uses the toolset and libs related to the version of the IDE currently in use, therefore VisualD should also tell DMD to use the same toolset for compatibility.
I use vs2010, although I also have vs2005 and vs2013 installed. It seems VisualD is invoking the correct linker since it's complaining about mspdb100.dll, which is the proper version for vs2010, but perhaps DMD is still getting another path for the supporting DLL's from sc.ini, which was set to the vs2012 paths (as noted above)?
My suggestion from before was that under VisualD, DMD should _completely ignore_ sc.ini, and VisualD should provide all paths and arguments. As long as DMD gets any paths from sc.ini, I can only see it leading to problems under VisualD.
Disclaimer: I'm not absolutely certain this is a correct analysis of the situation, but it seems this is what's happening.