Parece que el problema lo tienes con tus comillas .. Los "IDs" para atacar a la sentencia IN() de SQL deberían estar entre comillas. Es decir; debes generar algo tipo:
IN ('1','2','4')
Asegurate que es eso lo que generas .. define tu DELETE (sentencia SQL) bajo una variable para que le puedas hacer un echo y usa las comillas mencionadas:
$lista=implode("','", $_POST['msgid']);
Por otro lado .. visualiza los mensajes de error (a nivel SQL o conexión) que puedas tener usando:
mysql_query($sql) or die (mysql_error());
y por el momento quitando la redirección que haces con header() (para que puedas ver el mensaje de error si lo hay con tranquilidad).
Revisa también que:
$_POST['msgid'];
sea un array (si seleccionas sólo una opción NO es un array lo que se genera sino una variable simple .. OJO con eso).
para comprobarlo fielmente en todo caso . .usa:
Código PHP:
<?
echo "<pre>";
print_r($_POST['msgid']);
echo "</pre>";
?>
(al principio de tu script y recondando NO usar por el momento header() ...)
Un saludo,