I have a Visual Studio 2012 Solution with a number of native c++ test projects. I can run all of these correctly and successfully from within Visual Studio 2012 using the Te
After a lot of searching, I finally discovered a very hidden msdn documentation page here which states the compatibility of mstest with different test project types. And it turns out the mstest is not compatible with native unit tests (nice of msdn to document this in an easy to find location). Instead you need to use the visual studio test running (vstest.console.exe) instead of msbuild for native unit test projects.
for example
vstest.console.exe /Platform:x64 PathToTestProject\x64\Release\testproject.dll