After endless hours of testing, I found out that for ExternalInterface to work in IE, 2 conditions have to be met.
- The Flash needs to visible. Loading a flash into a hidden div does not work.
- It has to be loaded before the document onload event. All Flash files loaded after the onload event can’t register any functions with ExternalInterface.
There seems to be an issue with transparent PNGs (with alpha channel) in IE 7, too. I had some ugly black background in the pictures even though other PNGs worked just fine. The reason was that it the div was hidden first. I guess IE 7 has some serious issues with invisible divs.