Por que ExternalInterface quebra quando passo parâmetros com JSON como uma string?

Eu tenho um problema muito estranho com o Flash 10 e o ExternalInterface. Atualmente, estou usando uma ponte caseira para usar o RTMFP com Javascript e sempre que tento transmitir dados que contêm JSON, recebo um estranho erro de Javascript proveniente do Flash:

missing ) after argument list
try { __flash__toXML(Flash.Utilities.A..."")) ; } catch (e) { "<undefined/>"; }

É impossível obter mais informações, pois elas são do Flash e não estão vinculadas a nenhum arquivo Javascript.

Para reproduzir esse problema, você pode usar este script:

package 
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.external.ExternalInterface;

    public class Main extends Sprite 
    {

        public function Main():void 
        {
            if (stage) init();
            else addEventListener(Event.ADDED_TO_STAGE, init);
        }

        private function init(e:Event = null):void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init);
            var test:String;

            test = "\"\\\"\"";

            ExternalInterface.call("console.log", test);
        }

    }

}

O que posso fazer para evitar esse problema e é um problema conhecido?

questionAnswers(2)

yourAnswerToTheQuestion