si si ho letto, ma è una guida che avevo già seguito.

infatti io seguo il ragionamento che fa la guida: infatti ho

codice:
if (myRequest.readyState==4 || myRequest.readyState=="complete"){
la mia ipotesi, è che il server resti sullo stato 3, per qualche motivo.

e io voglio semplicemente ottenere, che dopo TOT tempo che il server resta sul 3, la funzione si azzeri e rimandi un'ulteriore richiesta al server.

Così come è attualmente, non lo fa. La funzione resta in perenne attesa (sempre nel caso raro che il server per qualche motivo non risponda)