Taking a breath after several weeks of hard frustration and decent progress in 'modernizing' my old courseware....
Programming within the Windows API is like proper marriage with the support and supervision of a church. It's a lifetime commitment on both sides. If you do everything right, your code will work through successive versions of Windows. You may lose interest, or your customers may lose interest, but the contract will still be valid as originally written. You can determine in advance, in writing, whether a decision is going to keep the relationship alive or crash the machine.
The newer setup is like random sex. Hooking up. It can be lots of fun for a while, but there's no contract, no external authority holding both parties to the deal.
Making the right things happen requires lots of trial and error, plenty of wasted effort. You're constantly negotiating through unruly situations. You don't know until you try. When it does succeed, you can't be sure it will continue to work because there's no single standard. FF or IE or Chrome may decide at any time to stop supporting some particular bit of code, and they won't tell you.
And after all that trouble, your reward is NOT universal compatibility as implicitly promised by the new regime. You're still going to run on some
machines and fail on others. No advantage at all. Just fashion.