Bueno, yo tuve el mismo problema que tu y lo que hago es lo siguiente:
Código PHP:
unset($array[$i]);
$array = array_values($array);//quito el espacio que ha quedado despues de eliminarse
Ya se que se usa unset() pero luego se rectifica el problema. Yo no conozco ninguna otra opción.
Saludos,
PD. Para más información
www.php.net/array_values