В общем, вы не можете смешивать dll, скомпилированные с разными версиями CRT, в одной программе. Вот ссылка на документацию на MSDN .
Как уже упоминалось, это работает, если вы сохраняете интерфейс простым. Не освобождайте память, выделенную одним CRT, в DLL, связанной с другой версией CRT, не передавайте FILE * и тому подобное. К сожалению, трудно точно знать, что вы можете сделать, а что нет.