There is no one best tool, for everyone. I believe that the best way to quickly write very high quality Windows Win32 applications, if that is your number one goal, is Delphi. However, more users use Visual Studio (probably using C#, or VisualBasic.net) by a large margin.
If you care about 64 bit support, however, or cross-platform, you'll have to wait a little whie, because the team that builds Delphi is working on all those things, but they have not shipped yet.
If you choose C++ and QT, you will get a very powerful cross platform framework (QT), but it is rather expensive for single-developers. You will then be stuck with all the many problems of learning C++. C++ is a vast language specification, and each compiler implements a hopefully-mostly-compatible subset of those ANSI specification features, plus its own vendor-specific extensions. If you are looking to spend a thousand hours or more just learning the vagaries of the syntax, C++ is your language.
If you want a simpler orthogonal language, that has fewer ways to shoot yourself in the foot, you can choose Pascal/Delphi (native/Win32), Java (portable), Managed languages (like C#) available both on Microsoft.net and on the cross-platform open source Mono project, or you could choose a very high level language like Python, Ruby, Perl, etc. For most of these very high level languages, a variety of GUI toolkits make it possible to write desktop applications, and do it quickly, and make it portable, but you will pay a performance penalty.
Managed code, and Virtual Machine code (.Net and .Java) also come at a distinct performance penalty. Nothing can touch native compilation on pure speed. However, for most compiled environments, you should factor in compilation time.
Because of Delphi's rediculously fast compilation speeds, and powerful IDE RAD "form building" and component-based development features, I find am more productive in that environment than any other one. However, if you do not get to make this decision on your own, and you have to go to the Pointy Haired Boss on this one, he's going to tell you to pick the most commonly used technology out there. It's a "sheep effect" thing.
Java has a big corporate backing, and is heavily used in the financial sector. These days, it seems most "in house development" for Windows, of the usual kind of "CRUD-screen" apps (database-centric applications) are done in C#.
There is no free lunch.