В JS есть такие методы у объектов, которые могут быть определены только для ИЭ, или, наоборот, только в ИЭ не определены. И это несмотря на какие-то там стандарты!!!
Также, могут быть некие новые фичи, которые введены еще не во всех браузерах. И они в принципе не могут быть в старых браузерах. А судя по общему описанию, как раз нечто такое и наблюдается.
Я не вникал в твой текст (да и вообще с JS немного
работал пока), поэтому пишу только общие соображения
Но с этой несовместимостью уже тоже пообщался (в моем случае было, что в ИЭ
работает код, и больше нигде).
Покопай в этом направлении.