For instance, programs like MSN, uTorrent etc, how do the makes go about writing the GUI?

Would they use the Win32 API directly or is there a graphics package which is easier to use?