Примечание: здесь есть некоторая документация от IE9, которая может помочь понять. Спасибо @Ben Amada за то, что поделились им.
После почти недели сумасшествия день за днем я узнал об этом.
Проблема с IE9 не связана с кодом javascript в iframes. Даже с javascript в iframes, добавленным javascript или какой-либо библиотекой (у меня есть много библиотек js и плагинов, которые могут испортить IE9).
Проблема в том, что вы перемещаете iframe или одного предка через DOM. IE9 будет выполнять код на странице, загруженной в iframe, столько раз, сколько вы делаете. Каждый раз (но последний) будет иметь неопределенные значения Object, String, Array и других (и других ошибок).
Пример:
var iframe = $("<iframe>").attr("src", "www.example.com").attr("id", "myIframe");
iframe.appendTo("body");
$("#myIframe").appendTo("form:eq(0)");
Код JavaScript в "www.example.com" будет выполнен один раз с ошибкой, описанной выше, а затем один раз без ошибок.
С помощью следующего кода код будет выполнен только один раз и правильно:
var iframe = $("<iframe>").attr("src", "www.example.com").attr("id", "myIframe");
iframe.appendTo("form:eq(0)");
Надеюсь, это поможет кому-то избежать этой боли в заднице,
Diego