I get your point, but Win32 was different from Win16 too.

There were lots of reasons why MS Windows won and MS/IBM OS/2 lost on the desktop: The price of developers tools; the preloaded mass-market vs. the expensive corporate market; drivers; MS's desire to screw IBM and take it all; differences in the desktop location of 0,0 (top left vs bottom left) on the screen, etc.; ISVs not seeing a reason to port to OS/2 2.0 except via the "Mirrors" translation DLL; slow hardware of the time; etc.

These were all solvable problems, given time and a desire.

After all, it took MS over a decade to fully transition the market from 16-bit to 32-bit Windows.

Apple has been changing OS X under the hood (Carbon to Cocoa, 32-bit to 64-bit, dropping the PowerPC code, adding iOS stuff, etc.) and they're bringing their developers along. They showed that you can do it right - you can transition between processor generations, improve the OS, and keep your customers reasonably happy, and have a thriving market in the process. (Of course, they also have no qualms about squashing developers in the process, but that's a different issue.)

My $0.02.

Cheers,
scott.