Более новые версии (8+, я думаю) MISE кэшируют ответы AJAX. Удивительно, но факт. Вы не можете обмануть MSIE, установив no-cache или подобные заголовки, MSIE лучше знает, какие случаи должны кэшироваться в ответах AJAX (ребята из MS думают: всегда), поэтому лучше всего использовать уникальные URL, говорят:
xmlhttp.open("GET","getcourse.php?q=" + str + "&rnd=" + (+new Date()),true);
(Личное примечание: на моем Linux установлены Firefox, Chrome, Opera, MSIE6 (!), И я протестировал свое приложение со всеми этими браузерами - вы можете себе представить, что это было таким сюрпризом, когда пользователь сказал, что он не работает на его компьютере, появляется начальный экран, но дальнейшие изменения не отображаются. Мне пришлось одолжить ноутбук с Windows у одного из моих друзей.)