Guess what? gcc doesn't fully implement c99 either.
c99 is A standard, not THE standard. That means that it's optional. It means that a compiler vendor doesn't HAVE to implement it.
Reasons for using MSVC? The IDE is very nice to use, yes. Microsoft have the best debugger in the business, bar none. gdb is amateurish and tacky by comparison. If you're even remotely serious about software development, a really good debugger is a must.
Being Open Source/Free/GNU/whatever is not enough, a tool must be good. Good software is good software, irrespective of the philosophy behind it. And bad software is bad software. And I'm sorry, but gdb is bad software.