Para projetos de makefile, a solução aceita falha, devido a um erro no Visual Studio (que está presente pelo menos até a versão 2012 - ainda não testei 2013). Este bug é detalhado aqui .
Para que o console seja pausado após o término do programa em um projeto de makefile, execute estas etapas (isso pode ser diferente para versões diferentes de 2010 - 2012):
1) Passe /SUBSYSTEM:CONSOLE
para o vinculador. - EDIT : veja abaixo.
2) Abra seu arquivo de projeto (.vcxproj) em um editor de texto.
3) Dentro da <project>
marca raiz , insira o seguinte:
<ItemDefinitionGroup>
<Link>
<SubSystem>Console</SubSystem>
</Link>
</ItemDefinitionGroup>
4) Recarregue o projeto na sua solução.
5) Execute o programa sem depuração (CTRL + F5).
EDITAR:
Conforme meu comentário abaixo, definir a opção de vinculador /SUBSYSTEM:CONSOLE
é realmente irrelevante para projetos de makefile (e nem sempre é possível, se você estiver usando um compilador que não seja o MSVC). O que importa é que a configuração seja adicionada ao arquivo .vcxproj, conforme a etapa 3 acima.