IE (не только 6, хотя, думаю, я видел это и на 7) имеет эту вещь, где он не будет оценивать значения в циклах, пока не выйдет из метода. То есть этот код (пример установки идентификаторов для ячеек в строке таблицы):
putids = function (cells)
{
for (var i = 0; i < 5; i++)
{
cells[i].id = "cellid" + i;
}
}
даст вам 5 ячеек с идентификатором "cellid5". На самом деле вам нужно переместить присвоение в другой метод и вызвать его в цикле, чтобы иметь разные идентификаторы.
Что касается CSS, я помню «абсолютную» и «фиксированную» проблему: они совершенно противоположны любому другому браузеру (хотя, например, yui справляется с этим правильно). Кроме того, IE6 не поддерживает прозрачные png-файлы.
Это только с моей головы.