Ik ben geen expert, maar ik geloof
$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");
is sneller. De reden is dat het maar één query maakt. Er worden minder gegevens naar de server gestuurd en het wordt allemaal in één keer verwerkt, in één opdracht.
In het algemeen, met de andere methode, als je bijvoorbeeld 300 waarden hebt, betekent dit dat je 300 extra functie-aanroepen doet, 300 communicaties naar de server, enz. Maar in de praktijk kan dat variëren.
edit:Verder moet je altijd de juiste MySQL-escaping gebruiken, zelfs als je zeker weet dat de gegevens niet schadelijk zijn. Zie http://php.net/manual/en/ function.mysql-real-escape-string.php en overweeg om mysqli of PDO te gebruiken.