Not sure what is causing the crash but I can clear up a bit of confusion...
The D drive you see is not your CD-ROM, but the location of the source file when LabVIEW was built - the D drive here at NI. As a bit of trivia, the code name for LV 7 was Mercury which is why the directory is called lvmerc.
It sounds like something somewhere is corrupting memory. Bugs that like are nasty because it seems like everything is fine and can keep running for days until you do just the right thing and boom! It might be something as simple as the Call Library Node not being quite right - if you declare your method as a cdecl but tell LabVIEW it is a stdcall, then you can corrupt the stack. I would go back and be extra special careful and look at your function declaration in the DLL and your Call Library Node.
Also, when you say the DLL has been working for some time, how do you mean? In LabVIEW? In another application language?
Brian