Removing a version of VS2010 with another one installed tends to result in the standard library files being removed as well. This is an issue because these are shared by all installed versions of Visual Studio 2010.
The solution is simply to uninstall the ordinary Visual Studio 2010 and then reinstall it. This will lead to the headers being properly installed again.
The reason you cannot simply use the VS2012 headers is that they use a lot of C++11 features and other internal Microsoft code which is not compatible with older versions of Visual Studio.