Flash' ExternalInterface api allows you to communicate between Javascript and Actionscript. A very useful tool, and we've used it quite a few times. Often times it just doesn't work though, and it can be difficult to get to the root of the issue. This is a list of things you should be looking out for if ExternalInterface does not work for you:
Give your
In order to call your flash application, your
The id cannot collide with items in the document object
Internet Explorer will add any element with an id to the document object. So if you were to, say, give your object the name 'window', 'getElementById' or anything to that respect EI will not work.

Just ran into one:
Make sure the DOM is ready when calling the Flash Functions
Very smart idea to have one single source of documentation and looks like you have it well covered!
I also notice having trouble with the external interface when the flash is inside a div which is currently hidden using css position (top/left -9999)
but it worked when the flash is visible by 1px
The ExternalInterface functions exported to JavaScript, don't work if you are debugging remote.