I thought that had less to do with the choice of license and more to do with the fact that Apple just bundles the zipped source and publishes it every year or so (in contrast to Swift where you can see every commit made since the beginning of the project).
It could help Microsoft close source THEIR implementation later down the line, but it doesn't help them "extinguish" it completely, particularly if third parties wish to maintain it.
MIT makes it easy to fork and relatively easy to re-license.
IANAL but AFAIK as long as they are the sole owner and contributor or has agreements in place with everyone the GPL doesn't protect us against going closed in future releases.
What it does secure is you right to fork the last open source version. Then again, so does BSD, MIT and ASL - and under better terms for everyone else.
The copyright holder can license a work under any license at any time. Although you can obviously issue an exclusive license for example, in most countries you can not simply dissolve the copyright (there is no concept of assigning something to the public domain). So practically, there is no way to write a license that stops the copyright holder from issuing a new and different license.
What the GPL does is forbid anyone who is not the copyright holder from changing the license. If you make a derived work from something and wish to use the GPL as the means for allowing you to make that derived work, then you must use the GPL.
The "better terms" that more permissive licenses give you is the ability to change the license when you make a derived work. Of course someone can fork the original open source version, but this is only useful if that person: 1) knows about it 2) has access to it 3) can build and install it for their platform. In many cases, more permissive licenses are preferred because vendors know that they can provide digital locks on the platforms that stop people from deploying free (as in freedom) versions. They wish to get the benefit of open source development, but still lock their users out of certain functionality.
Permissive licenses are useful, but they are not automatically better for everyone in every circumstance. Certainly I have a lot of useless bricks that used to be useful consumer electronics because my vendor doesn't let me upgrade them. Strangely the best piece of consumer hardware I ever bought was a bicycle navigation unit from Sony. GPL from top to bottom and they even gave you instructions on how to rebuild it and deploy it.
You may be interested in some thought experiments I'm running to try and achieve the aims of a verifiable public domain dedication under existing US law:
The most interesting reading I've done is probably the old CC mailing list threads on CC0-1.0's backup license. If you set yourself the goal of writing international/portable language, things get really hairy.
Even if companies had been able to fork IE6, it would not have changed anything.
(Companies are able to fork WebKit, and yet it's on a good track to become the new IE6, because Apple doesn't care and their market share force everyone to work around bugs in iOS/OSX Safari.)
Which makes building a community the most important thing to do, to make it harder to keep closed forks closed. It's worked really well for LLVM/clang, with contributions coming from a number of normally open-source hostile sources. Conversely, were Microsoft's engine here GPLed, with the contributor licensing agreements open source organizations like Canonical and the FSF have, it would be a lot easier for them to close things back up, and take all the toys with them.