despues de tanto buscar, este script me funciona:
  Código PHP:
    <?php
$filename = "fichero.sql";
header("Pragma: no-cache");
header("Expires: 0");
header("Content-Transfer-Encoding: binary");
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filename");
 
 
$usuario = "gonzalo";
$passwd = "clave";
$bd = "colegio";
$llamada='"c:\\Archivos de programa\\MySQL\\MySQL Server 5.0\\bin\\mysqldump.exe"';
//windows
$executa = "$llamada -u $usuario --password=$passwd --opt $bd";
system($executa, $resultado);
 
//para Unix
//$executa = "mysqldump -u $usuario --password=$passwd --opt $bd";
//system($executa, $resultado);
 
 
if (!$resultado) { echo "<H1>Error ejecutando comando: $executa</H1>\n"; }
 
?>    
  notese que en $llamada se utiliza primero comillas simples y despues dobles y despues en $executa otra vez comillas dobles, el problema surge por los espacios en la ruta. la fuente es esta pagina:  
www . programacion. com / blogs/ 15_maelmori / archive / 316_rutas_con_espacios_php_y_mysqldump_bajo_window  s . html 
Mi meta es realizar backups automaticos a una hora determinada por el usuario, si me podrian orientar al respecto les estare muy agradecido, 
saludos.