Ok, I did a lot of testing and discovered two things: one possible bug in C::B and the other is a major difference in the tool paths between C::B and VS.
First the possible bug. After thoroughly scouring the build logs of both VS and C::B, I found that the link option "/DEBUG" was present in VS but not in C::B. To try and fix this, I went to C::B->Build Options->Link Settings->Other linker options and added /DEBUG. But whenever I hit "Ok" and recompiled, the "/DEBUG" option did not show up. In fact when I went back to the build options page, what I had entered disappeared?! Maybe this has already been reported? Anways, as a quick fix, I went to Settings->Compiler and debugger...->Other settings->Advanced options... and essentially hardcoded "/DEBUG" into the "Link object files to dynamic library" command. After the fix, what do you know.. The dumpbin for both the C::B compiled library and the C::B compiled mex file were identical!
But that still did not completely fix my problems. I am not a C++/Windows/VS guru but what is a manifest? This seems to be where the C::B tool path differs significantly from VS. More specifically, when I instruct VS to not "Embed the Manifest", I get the same bad mex file produced by C::B (aka Matlab gives the same error message for both mex files). But when I embed the manifest in VS, I get a working mex file.
Also one other observation. VS allows options to be specified for the resource compiler tool. Is this functionality in the works for a future release of C::B? What about this manifest thing?