Дело в том, что в более простом примере этот же xmlhttprequest.js выдает 304. Дело тут не в задержке как я понимаю.
function showDemoSample(){
// Адрес текущей страницы
var url = location.href;
// Объект XMLHttpRequest
var req = getXmlHttpRequest();
// Запрос на сервер
req.open("GET", url, false);
// Чтение ответа
req.send(null);
alert(req.responseText);
}