Found the problem!
The solution was to set allowscriptaccess to 'always' in the flash params:
allowscriptaccess : 'always'
That's background info about the issue:
Starting with Flash Player 9, getURL (or navigateToURL) calls affecting "_self," "_parent," or "_top" were considered an interaction with the hosting HTML page. Starting with Flash Player 9 update 3, all calls to targets other than "_blank" are affected. This is to prevent untrusted SWF files embedded in the HTML page from re-navigating a browser page (or a frame within that page) without warning the user that they are now visiting a different third-party website. It also enforces cross domain scripting restrictions across all html frames.
To protect HTML pages from untrusted SWF files, Flash Player supports the HTML parameter AllowScriptAccess in the and tags that display Flash content. AllowScriptAccess can have three values:
• "always": permits the SWF file to interact with the HTML page in all cases.
• "sameDomain": permits the SWF file to interact with the HTML page only when their domains match exactly. By default, the HTML publish templates in the Adobe Flash authoring application output HTML that specifiesAllowScriptAccess="sameDomain", as this is frequently the desired security behavior.
• "never": completely prevents the SWF file from interacting with the HTML page.
Calling getURL (or navigateToURL ) now falls under the control of the AllowScriptAccess parameter. In other words, AllowScriptAccess must either be "always" or "sameDomain," and the domains of the HTML page and SWF file must match exactly. Otherwise, the call to getURL (or navigateToURL) will fail.
This is a new behavior introduced in Flash Player 9 to comply with the security model and affects all SWF versions. Adobe is aware that this may change the behavior of some SWF media deployed before the release of Flash Player 9, and we apologize for any inconvenience this may cause.