DLL's in general can be very volitile if not used correctly. When you load a dll, they are loaded into memory to allow for quick access. When you exit mirc, the memory being used might not be being freed correctly, and cause mIRC to crash. Try unloading the dll wihtt he /dll -u command on exit, and see if that saves it.