MSFT did it .. sure .. but my first half-decade of software engineering jobs seem like coffee chats compared to the crap we have today. I think I got my first job after a 45 minute chat (was supposed to be 30 mins but we were having a fun, geeky convo and lost track of time). What's crazy is I would leave with offers in hand. This is until 2004. Google copied and one-uped microsoft. The Googlers went out and replicated their process and suddenly, most decent software engineering jobs require you to bend over.
I had a startup interview last year where they were a well-funded start up full of PhDs. Had a hiring screen (with non-trivial code), a full day of interviews over the phone/etherpad, a conversation + coding interview with the frickin CTO. This was to decide weather to fly me to the Bay are for the actual interview (was on the East coast). I had a full-time, high workload job at the time (constant crunchtime) ... so this was brutal on me. Never doing this again.
Well at the peak dotcom era you often could get away with spelling HTML without stuttering and you were hired. Microsoft could afford to discern however, being the top employer at the time.
I am with you though in principle. Some fizzbuzz-like test is OK, I understand they want to know if you can code at all. Something like code review where you think aloud is fine too. But take home assignments, whiteboard coding, huh.. An acquaintance of mine had to conjure a working spreadsheet application in one and a Space Invaders clone in the other. Mind you, none of the jobs had anything to do with spreadsheets or gaming.
If my living would depend on it I'd do it, no question. But in a relatively liquid job market of today I'd ether pass or offer to do it at a competitive hourly rate.