Недавно делал одну небольшую систему на jQuery 1.3.2 и PHP4, которая по таймеру отправляла запросы к PHP-скрипту обработчику:

$.ajax({
	type: "GET",
	url: "somescript.php",
	datatype: "html",
	data: { param1: " <?=$param1?>", param2: " <?=$param2?>" },
	success: function ( data ) {
		$('#cMessages').html( 'Number of retry: ' + _max_retry + '. Status message: ' + data );
	},
	error: function ( xhr, ajaxOptions, thrownError ) {
		$('#cMessages').text('jQuery Ajax error! xhr: ' + xhr + '; ajaxOptions: ' + ajaxOptions);
	}
});

В Mozilla Firefox, Opera и Safari запросы отправлялись нормально, а вот в IE запрос отправлялся только один раз.

Причем никакого специального кеширования со стороны сервера нигде включено не было.

Немного поразмыслив решил добавить дополнительный параметр t, который каждый раз добавлял новое случайное значение к запросу:

$.ajax({
	type: "GET",
	url: "somescript.php",
	datatype: "html",
	data: { param1: " <?=$param1?>", param2: " <?=$param2?>", t: (new Date).getTime()  },
	success: function ( data ) {
		$('#cMessages').html( 'Number of retry: ' + _max_retry + '. Status message: ' + data );
	},
	error: function ( xhr, ajaxOptions, thrownError ) {
		$('#cMessages').text('jQuery Ajax error! xhr: ' + xhr + '; ajaxOptions: ' + ajaxOptions);
	}
});

После этого IE стал нормально отправлять запросы.