As to this msvcrt.dll i heard that this is not system (at least win xp i am using) dll - this must be installed - You sure mingw links against that, where is the import.lib for that?
Yes, I am sure this is the system CRT. I do not install anything anywhere, all my MinGW programs just run like this. (OK, that's only half of the truth, usually OpenGL and OpenCL need to be installed on the computer, but that's unrelated to this question as it's something that users usually do without knowing by installing the display driver anyway -- not my job to do that).
The only exception where you have to "install" something is a compiler build that links against libstdc++ dynamically, but these builds are rare -- they existed historically because libstdc++ contained helper libs to enable throwing exceptions among DLLs and executables and for making TLS work reliably (without leaking), both of these work without helper libs in modern builds. And in those cases, you would just have bundled the DLL in the zip file within the executable's directory. That somewhat leads the "shared" part of shared library to absurdum, but it reliably avoids version conflicts, and you need not installer that does obscure stuff with the Windows directory (which is something a lot of people despise).
well i just want to throw away whole includes (it is about c standard library headers and also windows.h) and write declarations with my own hand only
Again: Not including headers will not prevent linking to the system libraries. Not including headers will only have the effect of the compiler not knowing the signatures of the functions as well as the definitions of many types which are defined for portability (such as off_t, size_t, or time_t).
You can of course declare the functions yourself, but it will not gain you anything except for ten or so milliseconds of compile time. The only header that has a significant compile time impact (and notable side effects) is <windows.h> if you haven't defined NOMINMAX and WIN32_LEAN_AND_MEAN.
The chance of screwing things up in a more or less nasty manner by writing your own declarations is significant, however.
also i would need to know exactly where are all the binaries mingw is linking my binaries against?
Several locations within the compiler's directory (including the bin, lib (for import libs), and libexec dirs, possibly different among different compiler builds), plus any extra paths that you specify on the commandline, and finally %windir%/system32