Eu encontrei a solução : você precisa incluir explicitamente o $cmd
na citação:
exec('"'.$cmd.'"',$out ,$retval);
Este é o script completo, para sua referência:
<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$db = 'BPOJob';
$file =dirname(__FILE__).'\'.'job_create.sql';
$mySQLDir='"C:\Program Files\MySQL\MySQL Server 5.1\bin\mysql.exe"';
$cmd = $mySQLDir.' -h '.$dbhost.' --user='.$dbuser.' --password='.$dbpass.' < "'.$file.'"';
exec('"'.$cmd.'"',$out,$retval);
echo "\n";
echo ($retval);
?>