ya encontre un error que tenia, ahora si estoy seguro que los datos estaban pasandose mal
Anterior
Código:
<input type='hidden' name='id[]' value='$idorden'>
Correcto
Código:
<input type='hidden' name='id[]' value='$row[idorden]'>
Es que viene de un While Asignando $row como clave.
Código PHP:
foreach ($id as $orden){
$sqlupd="UPDATE ordenes SET cant='$cant[$i]', unidad='$unid2[$i]', descripcion='$desc[$i]', punit='$punit[$i]' WHERE idorden='$orden'";
en esta linea, no se que falta, si hago echo a $orden, me da los valores de orden, pero no hace el update