PHP-Code:
 foreach($_POST[loeschen] AS $id){ 
richtig wäre schon mal:
PHP-Code:
 foreach($_POST['loeschen'] AS $id){ 
Ganz toll:
PHP-Code:
 //if (!isset($_POST['loeschen'][<id>])) $_POST['loeschen'][<id>] = "0"; 
da kennt sich einer aus
PHP-Code:
 if (!isset($_POST['loeschen']) || !is_array($_POST['loeschen'])) $_POST['loeschen'] = array(); 
Ob damit aber schon alle Fehler behoben sind, oder aber das ganze zu unerwartetem Verhalten führt, k.a.

Evtl gabs da mal ein Update zu?