Jag är ingen expert, men jag tror
$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");
är snabbare. Anledningen är att det bara gör en fråga. Mindre data skickas till servern och allt bearbetas på en gång, i ett kommando.
I allmänhet, med den andra metoden, om du har säg 300 värden, betyder det att du gör ytterligare 300 funktionsanrop, 300 kommunikationer till servern, etc. även om det i praktiken kan variera.
edit:Vidare bör du alltid använda korrekt MySQL-escape, även om du kan vara säker på att data inte är skadliga. Se http://php.net/manual/en/ function.mysql-real-escape-string.php och överväg att använda mysqli eller PDO.