ExternalInterfaceではまる

Firefox,Safariだと問題ないんだけどIEで以下のメソッドをExternalInterface.addCallbackしてもうまく動かない。

private function registerCallback(obj:Object):void {
    this.onSuccess = obj.onSuccess;
    this.onFailure = obj.onFailure;
}

どうやら、IEではオブジェクトを受け取れないみたい。

で、引数をStringにしてみた。

private function registerCallback(obj:String):void {
    ExternalInterface.call('window.alert', 'abc');
}

とりあえず動いているっぽい。が、上のalertが呼ばれるくせに、undefinedと表示される。
オブジェクトの変換がうまくいってないみたいですねぇ

どうしたらいいんでしょうか。誰かが教えてくれると嬉しいんだけど。。。