Gracias pateketrueke, pero entonces unset() no hace exactamente lo que queria, ademas de eliminar el contenido de dicha posicion del array, me tocaria despues reordenar el array por lo que veo, por eso no me funcionaba.
Yo pensaba que unset, ya automaticamente desplazaba los elementos para no dejar posiciones del array vacias entre medias.
Gracias de nuevo
EDITADO:
Ya encontre la solucion, aqui pongo que hice finalmente por si pudiera serle util a algun otro usuario con el mismo problema:
Código:
unset ($this->array_id_prod[$linea]);
//reindexo para evitar que me queden posiciones vacias en el array
$this->array_id_prod = array_values($this->array_id_prod);