The development tools for flash can actually be completely free of cost.
http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+4
http://www.flashdevelop.org
I will agree that the capabilities are neutered compared to native tools, but when compared to html5/javascript Flash has much better capabilities. Things like a proper object oriented and class based language to develop in, which is actually compiled rather than interpreted, and has a real type system. Things like webcam and microphone access, as well as binary sockets.
The only real reason I want flash to stick around is because javascript programming is ****ing painful. Cross-browser issues aside, the language just isn't very good for large projects. There's no real type system, everything is dynamic, the prototype inheritance model is clumsy, and there's no compile-time error checking because there's no compilation.
I would love to have a real open standard to use to program client-side stuff for the web, but html5/javascript is a huge step backwards from what is currently available with AS3. If microsoft hadn't sabotaged all the good parts of javascript 2, we'd all have an awesome, free, standard, and open client side development platform. As of now, we only have a mediocre, free, standard, and open platform.
I encourage people to learn Haxe. http://haxe.org It can compile to javascript, flash, as well as server-side languages and runtimes, and it's got all the features I really want.