Hola,
Hombre, exactamente no sabemos que consultas ejecuta MySQL. Para saber exactamente cada consulta y los posibles mensajes de error de MySQL, usa:
Código PHP:
for ($r=0; $r<=$filas-1; $r++)
{
$modificarproyecto = "UPDATE datosproyecto SET dato='$dato[$r]' WHERE id='$id[$r]'";
echo "$modificarproyecto \n";
$modproyecto = mysql_query($modificarproyecto, $conectar) or die("Error $modificarproyecto <br>MySQL dice: ".mysql_error());
}
Asi veras las consultas con sus datos.
Saludos.