Thanks that was exactly what I was missing, I just changed my function pointer from:
int (*OPWrapper::SD_Destroy)(int Handle) = NULL;
to
int (__stdcall *OPWrapper::SD_Destroy)(int Handle) = NULL;
and now all the function calls appear to be working perfectly.