Al parecer estás asignando la dirección de una función directamente a una función y debería ser a un puntero a función.
MPUSBGetDLLVersion=(DWORD(*)(void))GetProcAddress( libHandle,"_MPUSBGetDLLVersion");
El siguiente código es de ejemplo, es simple si tienes claro el concepto de puntero a función, de lo contrario tendrás que estudiarlo.
Código C++:
Ver original#include <windows.h>
#include <iostream>
using namespace std;
typedef DWORD (*VERSIONPROC)();
int main(){
HINSTANCE hinstLib;
VERSIONPROC procVersion;
DWORD version;
hinstLib = LoadLibrary(TEXT("mpusbapi.dll"));
if(hinstLib != NULL){
procVersion = (VERSIONPROC) GetProcAddress(hinstLib, "_MPUSBGetDLLVersion");
if(procVersion != NULL){
version = procVersion();
cout << hex << version << endl;
}
FreeLibrary(hinstLib);
}
return 0;
}