Too bad I'm so rusty in C++ nowadays; need to get back on it. I like using the nuwen MinGW distro when I worked on Windows; made picking up boost and SDL really simple.
(Just figured I'd share since you mentioned him; he probably doesn't remember me at all but without him I don't know if I would have ever become a developer. In fact at the time I was thinking about becoming a doctor but was a lazy high schooler who dreaded the years of education required)
Existing libraries are one thing, but when writing new code (and yes, I want to write new code in C), one of the big three compilers not supporting a feature is strong motivation not to use it... even if it would be really nice to have. Maybe in the coming years Clang will improve its Windows support enough that I can just tell everyone to swap it in for cl.exe, so I won't have to care about MSVC's standards support, but for now it and GCC are missing a lot of features on Windows.
char ptr = malloc(10); // this is not valid C++
vs
char ptr = (char *)malloc(10); // This is usually required for Visual C++ (or was).
I believe files with the .c extensions are compiled as C, not C++.