I'm not really sure. I know it took a year between the two sets, but that doesn't necessarily mean they spent all that time moving the kernel over. And honestly, if it took them that long to do that, I'd be shocked. The two kernels, while radically different on the inside, are designed to look and act almost identically to outside code ("outside" code including parts of the OS outside of the kernel). If Microsoft's legions of programmers struggled with a move like that for a year, I'd be VERY hesitant about running this next version of Windows.
Neither have I. But Microsoft's statements STRONGLY imply that. And I believe Jim Allchin used a very similar phrase not all that long ago (I might be mistaken). People pick up the implication and repeat it, without realizing what they're actually saying.
You're right about all of that, of course. But I think you may not quite understand how software development on a modern operating system works. Developers need something definite to rely on, yes. We call that the "public interface." Basically, you call into the operating system at a certain point and you get some sort of response. The entry point and the response should be consistent. However, what the operating system does behind the scenes to generate that response does CAN be changed without changing the developer's/user's view of the system. For example, the network stack in Windows XP is quite different from that in Windows NT4. They don't work the same way at all. But a developer only has to write a single piece of code to work on both systems. The interface is the same. But there are six years of changes under the covers that make the XP stack work better, faster, etc.
Sure they can. But as I said, the user experience does not determine whether a product is "alpha" or "beta," or vice versa. Those words just don't mean what you think they do (in fact, what most people think they do). They have nothing whatsoever to do with the quality of a product. The quality generally falls in line with where the product is in development. But not always. And the fact that a product is in the "alpha" stage does not mean that the quality is poor. For example, ICQ 98 (99?) Alpha. It was an "alpha" release, but it was a MUCH more stable, usable and finished product than its "gold" competition at the time (Powwow, if you're interested).
"Alpha" means that the product is still in active development: new features are still being added, and lots of new code is being checked into the project. That CAN (and a lot of the time does) mean that the product is unstable or rough around the edges, but it doesn't have to. "Beta" means that the product is feature complete, or very nearly so, very little new code is being checked in, and the main focus has switched to debugging.
Microsoft has confused that a bit over the years, and of course all of the amateur developers and OSS developers that make up meaningless version numbers for their apps like "Version 0.7 Beta 2 Release Candidate 1" don't exactly help. (that's an actual version number, BTW; it was for a calculator)