Hi TJ,
Could you tell which functions are you using in library, which in application.If you don't change the function name in self library or don't import functions manually, it is hard for an exe to discern which mkl function should be from the mkl library linked in your application, which mkl functions should be from your self compiled library.
One quick idea, you may create two self compiled library. one use nno-threaded funtions and the others use threaded functions.Thus you can avoid to set the number of the threads by hand in the code.
Create self custom dll, please refer to mkl user guide.
And MKL threaded functions list:
http://software.intel.com/en-us/articles/intel-mkl-threaded-functions/Best Regards,
Ying