I can't say I understand the documentation snippet you provides, and I also can't access the DLL, but here are a couple things...
1. I doubt very highly that a VB DLL is built with the C calling convension. I believe you should try the stdcall instead.
2. You have the winversion being passed by pointer, but the docs make it look like a regular integer. Is that correct?
3. Your board model is being passed by value, but it is listed as a return value in the docs. That would indicate an actual return value or a parameter passed by reference.
My guess is that one or more of the above is causing the stack to get corrupted or an invalid pointer to be accessed and that is generating the error. Is there anyway to see the document (pdf or webpage)?