Apple rewrote their OS from scratch and it did just fine.
No, they didn’t. They rewrote parts of it. And took other parts from NEXT, which already existed and was well-tested. And they ported other parts from their current OS over.
As for “it did just fine,” maybe after a couple of revisions it did. But Mac OSX 10.0 was… let’s just say, not a quality release.
That being said, 10.0 was vital, which is the point I think Joel missed. Sledgehammers exist for a reason. It’s overkill to take one to a nail, and it’s likely to cause more problems than it solves. But if you need to put a hole in a wall, it’s the right tool for the job.
Same thing here: MacOS pre-10 was ancient and decaying; it didn’t even have proper memory protection for regular memory allocations (to get memory protection, you had to use a special API to get your memory). To upgrade it to a modern OS would take just as much work as taking a sledgehammer to it. And the resulting code from the upgrade would likely not be as clean, modular, or functional as the freshly-written code.
Sure, the initial releases had some issues. But things are so much better now than they would have been without the sledgehammer that it’s hard to say that it wasn’t the right idea. Short-term thinking isn’t always a good idea.