Are you seeing your method in the C# class get invoked? Put some kind of tracing statements in there (write to a log file, put up a messagebox, etc...)
You'll get that error message for literally ANY error that happens inside the DLL.
And have you tried putting this in a TRY/CATCH block? The error class may catch more details on the error being thrown by the DLL.
-Paul-