Der ordentliche Weg ist die Runtime installieren, entweder extra über die Redist Package oder über die Merge Modules mit dem eigenen Setup. Alles Andere wird erst interessant wenn das aus irgendeinem Grund nicht möglich ist. Wenn du die dlls manuell mitliefern willst dann nimm vielleicht besser die aus ...\Microsoft Visual Studio 10.0\VC\redist. Das oder statisch linken würd ich aber wie gesagt nur machen wenn der ordentliche Weg (installieren) nicht gangbar ist oder du einen ganzen Haufen anderer verdammt guter Gründe dafür hast.
EDIT: Eine weitere möglichkeit ist statisches Linken (Projekt -> Eigenschaften -> Konfigurationseigenschaften -> C/C++ -> Codegenerierung, bei Laufzeitbibliothek eine Version ohne DLL einstellen). Der große Nachteil bei diesem Ansatz ist aber, dass man auch alle verwendeten Bibliotheken dann nochmal auf gleiche Weise neu kompilieren muss
.
Ich würde eher sagen die wesentlichen Nachteile sind dass die Runtime damit fix in die exe gepackt wird was dazu führt dass alle so kompilierten Module unnötig größer werden, Teile der Runtime sehr wahrscheinlich redundant im RAM liegen, etwaige Updates, Bugfixes oder Sicherheitspatches keine Wirkung auf deine Anwendung haben, ... Es hat schon seinen Grund warum die dynamische Runtime default ist. Die dlls einfach nur in das Verzeichnis der exe kopieren bringt übrigens praktisch die gleichen Probleme mit sich, daher: Runtime installieren.
Auch ein anderer Compiler ändert nix dran dass eine entsprechende Library gebraucht wird. Für Windows würd ich auf jeden Fall MSVC verwenden da das dort eben der native Compiler ist.