Запустите приложение в отладчике и посмотрите на свойство InnerException
- оно должно сообщить вам, что не удалось.
В качестве альтернативы, настройте отладчик так, чтобы он прерывался на каждое исключение, вместо поведения по умолчанию для прерывания только на необработанные исключения. Это должно привести вас к строке кода, которая не работает.
Если это не поможет, и вы сами создали C ++ DLL, включите неуправляемую отладку через свойства проекта C #. Это позволит вам войти в код C ++ и отследить исходную ошибку.