Буквально недавно делал такую же вещь, но все JS-функции, относящиеся к странице, появляющейся в iframe, разместил на ней же, поскольку не было уверенности, что они будут видны, если их определить на основной.
Я в JS не силен, но предполагаю: возможно при вызове ф-ии нужно указывать правильно путь с указанием того, что функция находится на
родительском окне? Т.е. использовать относительную адресацию через
parent?

Код AS1/AS2:
ExternalInterface.call("parent.func");
И в вызываемых функциях тоже пути нужно будет изменить.
Например, при определении элемента с флешкой писать не

Код:
document.getElementById("flashblock");
а

Код AS1/AS2:
framename.document.getElementById("flashblock");
где framename - имя фрейма со страницей, содержащей блок с флешкой:

Код:
<iframe src=... name="framename" frameborder="0" width=... height=... marginwidth="0" marginheight="0" scrolling="no" style="border:0 solid navy"></iframe>