If you want to use Starling you need to use the SWC - and I believe it goes without saying that you can only target AIR with that.
Starling 1.8 has been ported to Haxe. As far as I'm aware, it support all OpenFL targets.
1. OpenFL (http://www.openfl.org/) is GPU accelerated and probably where you want to start with Haxe, as it provides the Flash-like API as your basis. If you see any references to NME, that was simply an earlier incarnation of OpenFL. If I'm not mistaken, the Starling port makes use of Stage3D.
2. I use FlashDevelop (http://www.flashdevelop.org/) which is open source, but Windows only.
3. Others have covered this, but one thing I've noticed, is sometimes switching between targets can produce more useful errors. For example, my targets are ultimately Windows/CPP, but for speed of testing I develop targeting Neko which compiles much quicker. Sometimes if something isn't working right and I'm not getting useful errors, I'll just switch to a Flash target and produce a more useful error.
4. I'm not sure about ANE's specifically, but the equivalent native extensions are said to be easier to create in Haxe/OpenFL. They are fairly poorly documented, but still better than the documentation for ANE's. I'm currently working on one, so I've got some pages open that have been useful:
https://github.com/snowkit/hxcpp-guide/issues/1 A fantastic walk-through of the process
A good example extension to reference: