mysql_fetch_*() lee sólo un registro a la vez y en ese for() lo que haces es recorrer los campos del mismo registro y supongo que al querer acceder a
$todos[$i]['idProducto'] debería darte un mensaje de error.
Lee el manual de la función, hay algunos ejemplos que te servirán para saber cómo leer todos los registros con while().
Manual:
http://www.php.net/manual/es/functio...etch-array.php