Should you encounter a situation in which IMD stops running, the easiest thing to do is to start over from scratch. That is, exit IDL, remove the IMD default configuration file, named imdsave.dat, and start IDL and IMD again. If you believe you have discovered a problem with IMD, please let me know about it. Also, I'd be most interested to hear about any suggestions you might have for future improvements.
Note: Please understand that specifying many layers and many independent variables can easily result in very large arrays which might consume memory exceeding what is available to IDL. Should IDL run out of memory during a computation, you can try adjusting the value of the SP_MAX_ARRAY_SIZE and/or NS_MAX_ARRAY_SIZE variables, as described in Appendix B.1
I can be reached at windt@astro.columbia.edu. If you're reporting a problem, be sure to include as many details about the problem as you can.