if you buy the vb compiler (not the academic version or student version) then you wouldn't need to.
python is free
java is free.
My own personal experience:
If you have an background in programming and don't want to get your hands dirty (ie know how windows works and want to stick to the windows OS) go with DELPHI, or borland C++ (prior to version 5).
However if you do want to know how windows works then go with the microsoft products. VC++ is great if you really want to get into the depths of programming. VB is good if you don't want to deal with null pointers and the like, or if you aren't as strong at programming.
Get a full developer suite of whichever compiler you purchase. Make sure you purchase sufficient MSDN. Back in the day I used to purchase VIP support from Borland and paid for the full MSDN from Microsoft. However once you learn the APIs it starts to get repetitious.
Also VC++ (maybe vb) is supported on the pocket pc.
You will also need to purchase a professional installer package if you want to do it right as well.
Lastly you might need software from numega such as softice...
2nd round:
the cnn article you cited is 10 years old. the current java sdk is now 1.6 and is free. if you are going to use java (its not the easiest language to learn), then you should get a good editor such as eclipse (free) or jedit (not free). I have both.
Your fee to microsoft is upfront: you're buying their compiler. you pay no royalties on any programs you write. You will need to purchase a compiler on each computer you want the compiler installed, unless you arrange other licensing options. You would have to wheel & deal with microsoft for that.
However if you wish to get the 'windows logo' you will need to have your program pass their test and there is a fee associated with that, but its a one time fee, provided the program passes the test. I've been through that and received the logo.
python is used by google (sponsors of pycon) and other companies that are in the know. you can teach yourself the language in about a week. It's powerful, yet dangerous (sort of like vb).
other notes:
java is cross platform without having to do anything special on your part, if you write your code correctly. python is crossplatform. VB is easily embedded into ms apps.