Если бы вы не использовали абсолютное позиционирование, я бы предположил, что сохранение размера div, когда он скрыт, остается для вас таким же важным. Однако, поскольку вы используете абсолютное позиционирование, вы можете просто использовать
display: none;
И это тоже самое (проверено в IE7).
При использовании видимости: скрытый скрытый элемент занимает то же место на экране, как если бы он был там. Когда вы используете display: none, это почти как если бы он был удален из DOM.
Исходная проблема, которую вы видите, может быть ошибкой IE.