Winforms is not a good choice for the future. It is stuck in Win32 API, so it is obsolete imho.
A) WinForms is a set of APIs that could be repurposed if the Win32 API changed - see Mono for an example of WinForms that sits on top of fopens etc instead of CreateFiles.
B) Win32 cannot, and will not ever die - at least not in my lifetime. The fact that a hundred billion world-critical applications run on it effectively guarantees Win32's future.
C) All of the alternatives you might think have killed Win32, are actually Win32 in disguise. WinRT and WPF and Silverlight and even the HTML rendering in Windows all ultimately boil down to Win32.
So I would, in fact, argue the exact opposite. I'd program in Win32 in preference to new kids on the block like WinRT. WinRT is new, there aren't many developers and those key facts make it easy for Microsoft to mess you around, like they've done with Silverlight and WPF.
Microsoft can't mess around with Win32, so as long as tablets aren't important to you, I'd keep using that.