Programar em C/C++ para windows com a WinApi não chega a ser impraticável, mas é bem trabalhoso. Eu trabalho com a WinApi já faz muitos anos, e confesso que você se acostuma e o Visual Studio ajuda bastante. O QT é ótimo para C++ para Windows e Linux. A post do colega @TerraSkilll é justamente o que eu lhe diria também. Eu particularmente gosto de pensar em multiplataforma ou que a portabilidade seja simples e suave. QT e GTK são uma boa opção.
Algumas bibliotecas você terá que colocar no cliente mas são muito poucas. Se você utilizar o Visual Studio C++ para desenvolver um projeto para Windows você vai precisar do Visual C++ Redistributable Packages instalado no cliente.
Mas se você utilizar o compilador GCC(meu favorito) apenas algumas poucas bibliotecas serão necessárias.
Você não precisa fazer download de outro compilador. As bibliotecas serão instaladas junto com o compilador caso ele suporte desenvolvimento para Windows. O código para uma simples janela em Windows é bem complexo e existe muito código dentro dos headers não se limitando somente a windows.h existem outras que você usará conforme sua necessidade.
Uma dica, sempre use a ferramenta certa para o trabalho certo. Dependendo do trabalho ate Visual Basic pode ser a ferramenta certa. As vezes um programa em C++ faz a mesma coisa que um programa em C#, porém em C# você tem maior produtividade, então use C#.
No meu trabalho utilizamos C e C++ em 90% dos casos , para os outros 10% utilizamos Python simples e resolve o problema.