Okay, I fixed that behaviour. Low level binding errors will allow the dll to run now. But you can check for binding errors with something like this:
string s=error()
if s print s
Basic declares (only those which are referenced in the dll functions) with errors will report when the dll is loaded, unload the dll, and terminate the program.
I will be posting the updates in the usual thread later.