Si miras el código aparece siempre el onLoad en el body? Quizás siempre estás definiendo el body con lo que siempre te va a escribir el onLoad, pero eso no tendría que dar fallo.
Se me ocurre que lo que puedes hacer es comprobar el nombre del archivo donde te encuentras.
Código PHP:
$ruta = $_SERVER['PHP_SELF'];
$partes = explode('/',$ruta); // partir la ruta por carpetas
$num = count($partes); // numero de partes
$archivo = $partes[$num-1]; // cogemos la ultima que es el archivo
if($arch == 'alta_usuario.php')
{
echo '<body onload="document.FormularioAlta.nombre.focus()">';
}
else
{
echo '<body>';
}