Why are you using extern to define the functions from the dll? (in fact, your not even loading a dll)
Depends how you want to link your code to a dll really.
You can do it your way, or my way.
My way is platform agnostic. But each to their own :-)
btw, if that is a C++ API built from MSVC++ or friends, I don't hold out much hope for your interfacing with it like that from BlitzMax. Good luck anyhoo !