It looks like you are having a problem with name mangling on VC++. Whenever I create a DLL in CVI that might be called from C++, in the export .h file for the CVI DLL I call the entire file extern "C" to avoid name mangling.
At the start of the .h file for the CVI DLL, include the following lines.
// call everything extern C if a C++ compiler is used
#ifdef __cplusplus
extern "C" {
#endif
At the end of the .h file, include these lines.
// end of extern C block if a C++ compiler is used
#ifdef __cplusplus
}
#endif