ok

ho riscritto così
codice:
// JavaScript Document
	function makeRequest(url) {
        var http_request = false;
http_request = new XMLHttpRequest();
        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            //http_request = new XMLHttpRequest();
        /*if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
                
            }*/
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Non riesco a creare una istanza XMLHTTP');
            return false;
        }
     	http_request.onreadystatechange = function() { alertContents(http_request); };
       http_request.open('GET', 'rpc.php?artista='+url, true);
       //http_request.open('GET', url, true);
       http_request.send(null);

    }

    function alertContents(http_request) {
		/*if (http_request.readyState == 1) {
			document.getElementById("mio_artista").innerHTML = 'Loading...';
			}
		if (http_request.readyState == 2) {
			document.getElementById("mio_artista").innerHTML = 'Loading... 2';
			}
		if (http_request.readyState == 3) {
			document.getElementById("mio_artista").innerHTML = 'Loading... 3';
			}*/
        if (http_request.readyState == 4) {
            if (http_request.status == 200) {
				document.getElementById("mio_artista").innerHTML = http_request.responseText;
                //alert(http_request.responseText);
				//distruggo l'oggetto request
				//http_request=null;
            } else {
                alert('Si è verificato un problema con la richiesta');
            }
        }
    }
Ma non funziona. Tolto override ed eliminata la forzatura a nul come hai giustamente segnalato.

Con FireBug (che uso...) mi da una volta su 6/7 un errore di questo tipo

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

la riga è questa

if (http_request.status == 200) {

ma non capisco perchè. E' un normalissimo controllo di stato del XHR :master: