Nejsem odborník, ale věřím
$idListString = implode(",",$idList);
mysql_query("DELETE FROM this_table WHERE id IN ($idListString)");
je rychlejší. Důvodem je, že to dělá pouze jeden dotaz. Na server je odesláno méně dat a všechna jsou zpracována jedním tahem, jedním příkazem.
Obecně platí, že u druhé metody, pokud máte řekněme 300 hodnot, znamená to, že provádíte 300 dalších volání funkcí, 300 komunikací se serverem atd., i když v praxi se to může lišit.
edit:Dále byste měli vždy používat správné escapování MySQL, i když si můžete být jisti, že data nejsou škodlivá. Viz http://php.net/manual/en/ function.mysql-real-escape-string.php a zvažte použití mysqli nebo PDO.