en destino es el id del elemento html, verifica si el elemento tiene ese id como atributo, despues verifica si el elemento tiene esa propiedad, p.ej un input no tiene innerHTML.
Otro detalle es que la funcion se ejecuta fuera de linea entonces puede ser que el valor de "destino" se pierda.
Generalmente lo que yo hago es
Código:
eval("var fnTMP =function() {if (ajax.readyState==4) {document.getElementById('"+destino+"').innerHTML = ajax.responseText;}}");
ajax.onreadystatechange=fnTMP;