1) non funziona
2) no, assolutamente. Semplicissimo form.
L'errore che mi da è questo

[Exception... "Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIXMLHttpRequest.status]" nsresult: "0x80040111 (NS_ERROR_NOT_AVAILABLE)" location: "JS frame ::

ed è qui

if(xhr.status == 200 && !!xhr.responseText)

Ho letto il tuo codice... mi sembra valido pure questo... anzi, è anche più breve (quindi magari più veloce e con meno richiami a funzioni varie). Intanto grazie mille... speriamo di risolvere perchè sto bollendo!!!