Hola que tal... 
 
Soy igualmente novato en esto, etoy luchando igual con la validacion del un campo de usuario, lo he logrado hacer utilizando AJAX y en el codigo que pones observo los siguientes detalle:  
Código:
 ajax.open("GET", "includes/register_user.php?campo="+campo+"&valor="+valor,true);
  Utilizas el metodo GET para el paso del parametro y tratas de enviar toda la informacion en la misma cadena, yo utilizo el metodo POST y los parametros lo envio en una cadena aparte y generada:  
Código:
 http_request.open("POST", "validausuario.php", true);
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		http_request.send("qry_usuario=" + formulario.tfUsuario.value);
  Una vez enviado esta informacion primero validando la exitencia y luego asignandola a una variable para usarla en la consulta, puedes obtener el parametro desde validausuario.php (en mi caso) con:  
Código:
 if(isset($_POST['qry_usuario']))    //consultas la exitencia de la variable
{
	$qry_usuario = $_POST['qry_usuario'];  //se asigna a una variable para poder utilizarla posteriormente en la consulta...
....
  Este es el codigo que me ha funcionado a mi: 
 Código HTML:
 var http_request;
if (window.XMLHttpRequest) // Mozilla, Safari, ...
{
     http_request = new XMLHttpRequest();
}
else if (window.ActiveXObject) // Internet Explorer
{
    http_request = new ActiveXObject("Microsoft.XMLHTTP");
}
http_request.open("POST", "validausuario.php", true);
http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
http_request.send("qry_usuario=" + formulario.tfUsuario.value);
http_request.onreadystatechange = function()
{
     if(http_request.readyState == 4)
     {	
           if(http_request.responseText != "OK")
           {
	alert(http_request.responseText);					return false;		
            }
      }
}
 Y el codigo de validausuario.php es: 
 Código PHP:
    if(isset($_POST['qry_usuario']))
{
    $qry_usuario = $_POST['qry_usuario'];
    
    mysql_select_db($database_idse, $idse);
    $query_usuario = "SELECT * FROM usuarios WHERE usuarios.usuario = '$qry_usuario'";
    $usuario = mysql_query($query_usuario, $idse) or die(mysql_error());
    $row_usuario = mysql_fetch_assoc($usuario);
    $totalRows_usuario = mysql_num_rows($usuario);
    
    if($totalRows_usuario > 0)
    {
        echo "El nombre de Usuario ya esta Registrado, por favor seleccione otro";
        mysql_free_result($usuario);
    }
    else
    {
        echo "OK";
        mysql_free_result($usuario);
    }
} 
    
   Espero te sirva esto... a mi realiza la validacion en forma adecuada, PEROOOO  el detalle en que yo uso el evento OnSubmit del Form para habilitar la validacion... cuando ingreso el valor de usuario y esta repetido, me dice que el usuario ya existe, no corta el envio de la informacion e ingresa al usuario nuevamente...
 
La cabezera de form la tengo de la siguiente forma:   Código HTML:
 <form id="form1" name="form1" method="POST" onsubmit= "return validaformulario(this);" action="<?php echo $editFormAction; ?>" > 
 ojala puedan decirme a que se debe a que no corta el evento, aun cuando valida adecuandamente.....