There are only so many days in the year and you do not want to eat them up learning older technologies "just in case." If you are writing a standard business or consumer application, then .NET will almost certainly do everything that you need. Indeed, when you consider the sheer size and scope of .NET as well as the other technologies that you'll need to master (database, distribution, source control, bug management, etc.) then you will certainly want to be careful with your time.
With respect to "Smart Clients" - I understand how attractive this type of technology looks and I really wanted to go this route a few years ago (e.g. ClickOnce app deployment, etc.). However, I would strongly suggest you avoid going down that path!
Why? Well, our experience is pretty instructive. We produce both Windows apps and Web apps and both still sell well. However, we also permit the Windows apps to act as a kind of "smart client" - working with a hosted DB service that we offer (no, it is not one-click deployment but it shares the same appeal to potential customers). Quite simply, offering this service isn't worth the extra pixels on the price list. The vast majority of companies interested in purchasing Internet-enabled apps want a pure port 80 (Web app) / remotely hosted solution. Firewalls and corporate policies that lock down desktops essentially strangle any but the most popular Smart Client. And the people who want our Windows apps just don't want to be tied to the Internet - they want everything on their own network and a one-time purchase.
In a related vein, one of the other technology companies in our space made a huge commitment to Smart Clients across its product line. It has proven disastrous for them and they had to scramble like mad to climb down from their Smart Client commitment and back onto a pure Web app.
To the extent that you wish to escape the constraints of HTML and even AJAX, I would look into Silverlight or AIR.