No exactamente. Así lo que haces es borrar todas las alertas.
Tienes que borrar solo la que muestras:
<?php
$query = mysql_query("SELECT * FROM alertados WHERE para = '".$_SESSION['nombre']."'");
while($alerta = mysql_fetch_array($query))
{
echo "<script>alert('".$alerta['de']." te han mandando una alerta con el siguiente mensajes : ".$alerta['mensaje']."');</script>";
mysql_query("DELET FROM alertados WHERE para = '".$alerta['id']."'");
}
?>
Suponiendo que cada alerta tiene un ID, esto debería funcionar.
También te has olvidado cerrar la etiqueta SCRIPT.
Pero en mí código se supone que va a borrar la que se ha mostrado, es decir, si hay una alerta se va a hacer
un DELETE, si hay dos, se harán dos DELETE y así sucesivamente ¿No crees?