Tienes un bonito lío de comillas...
Si no pones las comillas supone que es una variable y por eso te da no definida. Debes poner las comillas, pero no dobles (porque son las que encierran todo el onMouseOver) sino simples. Pero como tu propia cadena PHP está con comillas simples tendrás que 'escaparlas' y no puedes porque estás en comillas simples.....
Yo encerraría la variable PHP con comillas dobles, escapando las comillas dobles del HTML de su contenido, para poder poner comillas simples en el parámetro de la llamada a la función...
Código PHP:
echo "<img id=\"map".$num."\" src=\"../includes/fotos/p.gif\" onmouseover=\"map(".$i.",".$j.",'".$fila['nombre']."')\" width=\"74\" height=\"74\">";
De esta manera también se podrían quitar varios "." (
echo "<img id=\"map$num\" ), pero yo los suelo dejar para clarificar.