Pero que código usas al final? ..
Estas haciendo?:
Código PHP:
mysql_query("DELETE FROM productos WHERE idproducto IN('".$lista."')") or die (mysql_errror());
Por qué eso no es correcto .. fijate en el SQL que genereas .. si tienes problemas, no uses mysql_query("sentencia SQL") .. usalo en una variable $sql="DELETE ..."; para que puedas hacerle un echo y ver si es correcto lo que usas.
La sentencia "IN()" de Mysql (SQL) define "lista de valores" .. si tus valores no son numéricos tendras que "entrecomillarlos" uno a uno:
No lo he probado .. tal vez con esto sobra:
Código PHP:
$lista=implode("','",$_POST['seleccion']);
Revisalo.
Un saludo,