...Mi sono appena accorto di aver detto una bella cavolata: mysql_num_rows() funge solo per la clausola SELECT. In ogni caso il resto è ancora valido (il DELETE eseguito da database). Inoltre ricevo lo stesso errore eseguendo mysql_fetch_array():

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in [path]

E confermo che sintassi della query e logica dello script sono corretti.