I would guess the problem is in your wrapper. The Call Library function node is used very heavily in LabVIEW, so I highly doubt there are any major bugs that would affect a simple wrapper dll.
Are your wrapper functions exported right. I think they need to wrapped by
extern "c" { }
but it has been a while wince I wrote one. (Some project settings may be important as well)
Does you're wrapper dll work if you use it from a c executable? (basically I'm curious if your wrapper has a bug in it).
Is your wrapper compiled by the same compiler as the C++ dlls? (C++ dll's can be incompatible between different versions of the same compiler, which is why most apis are written in a C compatible method, hopefully this isn't as a big a problem as when I last looked into it years ago)
Are you using the right calling convention in the call library function node for the dll (you could try both, I'm not sure if those would error before you tried to call it if it was set wrong).
If there's a .Net or ActiveX interface you might be able to use that instead.
I'm not sure what you mean by "advanced CSRs", could what every they are, be controled through the low level vi's (you can write to memory and registers in there, You would need some really good documentations to use them that way though)