Bueno he encontrado la solucion al final, por si a alguien le puede servir.
Los cambios han sido los siguientes: En la función javascript la llamada a la función php la he cambiado:
Código Javascript
:
Ver originalvar error = xajax.call('verificar_campo_duplicado', {mode:'synchronous', parameters:[]});
De este modo usando la función de la libreria xajax.call se puede controlar que esta llamada se haga de modo sincrono, con lo cual la función javascript queda a la espera de lo que devuelve la otra.
Y por otra parte en el código PHP he realizado lo siguiente:
El cual hace que devuelve a la función javascript 'true' cambiando el estado de la variable error.
Saludos!!!