Согласно Microsoft (http://support.microsoft.com/kb/234067),, для корректной работы в Internet Explorer необходимо установить заголовок Expires для -1.
Со страницы:
Во многих случаях веб-серверы имеют один или
более изменчивые страницы на сервере, который
содержать информацию, которая является предметом
изменить немедленно. Эти страницы
должен быть помечен сервером с помощью
значение «-1» для Expires
заголовок. По будущим запросам
пользователь, обычно Internet Explorer
связывается с веб-сервером для обновления
эта страница с помощью условного
Запрос If-Modified-Since.
Я думаю, дело в том, что если у IE есть дата истечения срока действия, он не видит причин спрашивать вас, был ли изменен ресурс, поскольку его кэшированная копия должна быть "достаточно хорошей".
На странице также сказано, что IE поддерживает Cache-control: no-cache, хотя это и не рекомендуется. Похоже, это должно сработать, но все равно попробуйте Expires.
Кроме того, другие поиски в Google говорят мне, что браузеры должны отправлять If-Modified-Since в общем, поэтому, возможно, именно поэтому Firefox работает. Попробуйте удалить Cache-Control: no-cache, чтобы проверить, продолжает ли Firefox работать правильно.