My favorite of Flash's many non-sensical quirks:<p>If you create, in code, a Graphics object with a color of 0xFFFFFF(pure white), it won't draw. But 0xFEFFFF will work. There is probably some setting buried somewhere that impacts this, transparency/masking features being likely culprits, but it certainly isn't documented in the APIs.<p>At times, it seems like everything in the Flash APIs suffers from some kind of misfeature. You can load Sound data from a ByteArray, but not Video data. The security policy mechanisms have changed in major ways at least three times(maybe more, I've lost track) over the last three years, meaning everyone doing Flash networked apps has to keep an eagle-eye on player updates. Because Flash uses system fonts in lieu of including its own cross-platform default, you can't count on text rendering the same across platforms unless you always embed a font in your file(which, of course, adds file size). If you use alpha transparency, it will render quickly on Windows, slowly on OS X, and molasses-like on Linux, with the same hardware on all three. Accessing the stageWidth and stageHeight properties on the first frame(e.g. in a statically instanced variable) will give you an incorrect value. It just goes on and on like this.<p>But if you want to do something high-traffic and media-related on the web, you don't have many alternatives - Flash has the appropriate features and the largest deployment of any of the plugin-based options.