Tienes "la asincronía a false", pero estás intentando usar el evento readystatechange para devolver la respuesta, lo cual no es correcto.
 
Es decir, o bien utilizas el evento readystatechange y lo haces asíncrono, o bien lo haces síncrono y no utilizas el evento sino que recibes la respuesta directamente después del send(). Eso último sería algo como...    
Código javascript
:
Ver originalfunction devuelve_descripcion(tabla, campo, valor) {
    var oXmlhttp = zXmlHttp.createRequest();
    
    oXmlhttp.open("get", "funciones.php?funcion=devuelve_descripcion&tabla="+tabla+"&campo="+campo+"&valor="+valor+"&nocache="+ Math.random(), false);
    
    oXmlhttp.send(null);
 
    var respuesta = oXmlhttp.responseText;
    //alert(respuesta);
    return respuesta;
}
  
  
De todos modos, mi consejo es que 
NO lo hagas síncrono. Mi consejo es que partas tu función 
insertarFila en dos partes y hagas la llamada asíncrona. Te va a ir mejor siempre.