There is a lot of inertia driving maintenance on some of these large products but there is also a ton of deprecation taking place internally relative to them.
I still write new applications in Win32 (or x64). If you want to ensure your app works on as many environments out of the box as possible this is the way to go. In fact, you shouldn’t even depend on DLL version of C runtime as they may not exist on the environment.
On Windows, almost every "new" API is built on top of Win32.
Obviously, if you're writing a simple CRUD application, you'll never need to go down there. (You'll probably make a browser application or an Electron application.)
But if you're doing something unique, like a utility, or trying to hook into the OS to make it do something new, you gotta work at the lower level APIs.
And, yes, I shipped a product that included a Windows driver this year. It required working at the Win32 level in user-mode to communicate with the driver, and to test the driver. Windows recently added a new API to Windows 10 that eliminated the need for a driver, but we still had customers on Windows 7. Even then, that new API is technically Win32.
If you're targeting Windows, win32 is the stable platform. Microsoft keeps presenting other options that aren't as good, and don't do as much, and keeps walking back to win32. It even works on other platforms easily(ish) through wine/proton/etc.
Everything I do is cross-platform so I use Qt, for which version 1.0 is from 1996 and which has really not changed much since then : https://www.qt.io/blog/2018/05/24/porting-from-qt-1-0 ; I write new apps with Qt on a very regular basis.
Yes, yes I would. I'm pretty sure that Win32 will be supported in 30 years, without much maintenance effort, compared to whatever new hotness that is popular today.
There is a lot of inertia driving maintenance on some of these large products but there is also a ton of deprecation taking place internally relative to them.