It's definitely a win-win scenario (maybe win-win-win):
1. Every employee will implicitly/explicitly become an evangelist for Microsoft products. I'm not talking only about the Windows 8 and Windows Phone 8 but all the services and apps that support the platforms and ecosystem. The marketing power and reach won't be as wide as Microsoft's actual marketing effort (there is a reason why Microsoft has a whole division of marketing), but this will certainly do a good job of sparking the excitement for the community.
2. Employee morale will definitely go up. Employees will feel that they are being cared. Employees will feel that they are getting treated well. This would essentially lower the retention rate of the company. If less people are leaving the company because they are unhappy, the less money Microsoft has to throw out to replace those people.
3. (maybe) People outside of Microsoft would start to think that Microsoft is a good place to be. People would start thinking that working for Microsoft is not a bad idea, after all. This kind of decision shows the cult of the company. I think Microsoft has a lot of wrong perceptions. They might have been correct a few years ago, but things have started to change since Windows 7. Then, I keep hearing more changes and more good stuff from Microsoft lately. Definitely, this is going to help making the Microsoft brand better.
Well i believe; that for a Software company like MS; it should give software for free to its employees instead of hardware - if it really wants to show that it cares. Most employees will belong the software field and will most definitely feel cared; if software is given to them for free - inorder for them to explore their own development/testing potential along with exploring the product potential. Also by giving the software for free; when an employee leaves the company; due to his/her interest in what the software product can deliver; they become lifelong customers - buy product upgrades and related software.
as far as attrition goes; well I guess it is bound to happen in case of experienced employees, no matter how great the company is; 'cause as one moves up the ladder; number of higher positions(across various teams) start to decrease. Talented employees hungry to explore their capabilities will leave for sure due to lack of opportunity.
As far as people outside MS wanting to join - guess will automatically happen if MS meets their requirements(job satisfaction + money + environment). The case most generally is that a company will find a replacement for a vacant position on its terms(there may be exceptions). But, It need not give hardware for free to its employees - inorder to send a message to the outside world - but rather give Software for free. Software given free to its employees means a opportunity to grow; and guess that would definitely attract outsiders to explore.
As far as I know, every employee gets a MSDN subscription, which comes with tons of Microsoft software for FREE. Plus, they dogfood their own products. They dogfood Windows, Office, Hotmail (or Outlook.com), SkyDrive, etc, and dogfooding is "free". If you hadn't known, now you know.
When I talked about the retention rate, I was focused on employees who've been with the company for 3 yrs or less. In tech industry, especially in software engineering field, people switch jobs fast. really fast. All my colleagues switch jobs every 2-3 years. For companies like Microsoft, Google, and Apple, this is not good. They now have to spend money to find potential candidates, spend more money to interview those potential candidates, make full-time employees to interview potential candidates (5-8 interviewer per candidate), etc.