MSVCRT.dll is a "known dll". It will always be there, and you never need to provide it yourself.
MinGW uses MS CRT's. It does not support "static linking" of any of those CRT's - it only dynamically links to MS CRT dll's.
By default, it links with MSVCRT.dll. This is the CRT that shipped with VC++ 6.0 and has since become part of the operating system (a "known dll").
MinGW also supports dynamically linking to the CRT's from VC++ .NET, 2005, and 2008.
By default, MinGW uses GNU's libStdC++ as it's C++ library and links to it statically. Starting with MinGW 4.5, it can be linked to dynamically by using "-shared-libstdc++" on the command line.
In the end, your installation/setup process is responsible for whatever is needed. If that process is "copy this EXE to your hard-drive", then you can't have any external dependencies to anything other than "known dll's".
EXE size is a non-issue in my mind. Link statically if you want to hand out (non-setup) EXE's only.
gg