hice algo.
primera funcion (es preferible no mesclar salidas html en funciones de php utiliza siempre el retoro 
 Código PHP:
    function primero(){
    $querysel1="SELECT * FROM j003t_cargo WHERE nu_padre=1";
    $sel1=$conect->Execute($querysel1) or die($conect->ErrorMsg());
    $SelectToPrint = "<select name=\"nu_ger\" id=\"nu_ger\" onchange=\"xajax_generar_select(this.value)\">
                        <option value=\"999\">Ninguno</option>";
    while(!$sel1->EOF){
        $SelectToPrint .= "<option value=\"{$sel1->Fields('co_cargo')}\">{$sel1->Fields('tx_nombre_cargo')}</option>\r\n";
        $sel1->MoveNext();
    }
    $sel1->MoveFirst(); 
    $SelectToPrint .= "</select>";
    $sel1->close();
    return $SelectToPrint;
} 
    
  otra cosa 
Cambie en la funcion "generar_select" la instruccion
$respuesta->addAssign   --- por  --- $respuesta->assign 
ademas agregue una linea mas para que te ayude a saber que pasa 
 Código PHP:
       [QUOTE] // iniciamos el proceso de debug para las funciones xajax
    $xajax->configure('debug',true);[/QUOTE]
    //asociamos la función creada anteriormente al objeto xajax
    $xajax->registerFunction("generar_select");
    //El objeto xajax tiene que procesar cualquier petición
    $xajax->processRequest(); 
    
  otra cosa... a veces xajax no nos muestra los errores y debemos recurrir a la consola de errores..eso si trabajas con firefox (lo recomiendo). 
la version que yo uso de xajax es la 0.5 la puedes encontrar 
aqui