Почитайте по ссылке в предыдущем моем посте. Объявление без var — создаёт лишь свойство глобального объекта (в DOM-моделе, свойство window глобального объекта ссылается на сам глобальный обеъект). То, что переменные, объявленные в глобальном контексте и обычные свойства глобального объекта попадают в одно и то же место — глобальный объект, это следствие. Но переменная — есть переменная (она создаётся при входе в контекст, обладает {DontDelete}), а свойство — это свойство, оно лишено этих особенностей.
Да нет, это верно безотносительно реализаций стандарта (почитайте на досуге (даже на русский перевели); если интересно, могу также предложить ряд моих статей по углублённому Javascript-у — там не так сухо, как в стандарте). IE тут не при чём. То, что IE маппит id-шники DOM-элементов в глобальный объект — это вообще с Javascript-ом не связано.
Javascript: Хороший стиль кода как правило