¿Por qué se rompe ExternalInterface cuando paso el parámetro con JSON como una cadena?

Tengo un problema muy extraño con Flash 10 y ExternalInterface. Actualmente estoy usando un puente casero para usar RTMFP con Javascript y cada vez que intento pasar datos que contienen JSON, recibo un extraño error de Javascript que proviene de Flash:

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

Es imposible obtener más información ya que esto proviene de Flash y no está vinculado a ningún archivo Javascript.

Para reproducir este problema, puede 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);
        }

    }

}

¿Qué puedo hacer para evitar este problema? ¿Es un problema conocido?

Respuestas a la pregunta(2)

Su respuesta a la pregunta