Quizá el error esté a la hora de traer los productos, puedes publicar la petición que usaste para sacar los datos del producto de la ddbb? No creo que sea un problema de carga, he cambiado más de 19000 registros de una vez sin problemas.
Y un dato, dices que tienes que cambiar los productos de activo a inactivo, pero tu código lo hace en las dos direcciones, es decir, si encuentra un activo lo vuelve inactivo y si encuentra un inactivo lo vuelve activo, si necesitas solo de activo a inactivo simplemente pon esto:
Código PHP:
<?php
foreach($chk as $posicion => $valor){
$producto=buscaProducto($valor);
$estado=$producto["proEstado"];
if($estado=="Activo")
{
$estado="Inactivo";
$sql="UPDATE productos SET proEstado='$estado' WHERE proId='$valor'";
mysql_query($sql,$conID)or die(mysql_error());
}
}
mysql_close();
?>
Saludos!