Microsoft has every right to do the same.
I see the real reason behind this hubbub being 2 fold.
1. There are a lot of formerly non-Apple programmers who are coming to terms with the mercurial nature of the CEO and the company itself. They are infamous for sudden changes in direction without a backward glance. Blessing or Curse? I'm sure this thread will be filled with hundreds of examples of each.
2. The uniqueness of this move. Yes, we all know that game consoles have this kind of "we control all" development structure to varying degrees. However, I am not aware of a console originally allowing something (by not explicitly denying it) and then taking that option away after developers had put time into it. That's got to sting.
As I said at the start MS could do this if they chose. However, MS has never been overly concerned with the user experience or the quality of 3rd party software. (I'm of the opinion that they prefer mediocre 3rd party software because it makes it easier to "Embrace and Extinguish" when they move into that market themselves, but that's speculation). They've also never been very comfortable with angering their developers, which is not something Apple has ever had an issue with. In the end, it's the culture at MS that prevents them from making this kind of move, not legal or moral. And we all know that the culture at MS and Apple are as different as their CEO's