Ciao timberwolf,

il comando header() funziona solo se non e' ancora stato inviato nulla al browser. Se il file che hai postato e' completo (nel senso, se non c'e' altro codice oltre a quello), probabilmente la funzione mail(), ritornando TRUE, inizia a scrivere nel buffer e impedisce a header() di funzionare correttamente...

Vedi qualcosa sullo schermo dopo che la mail e' stata inviata?

Forse e' un'idea stupida, ma prova a salvare l'esito dell'invio in una variabile:
codice:
<?php  $to ="info@miosito.it";
  $email = $_POST['email'];
  $subject = $_POST['oggetto'];
  $message = $_POST['msg'];
  $headers ="From:". $email;
    
  $esito = @mail($to,$subject,$message,$headers);

  if($esito)
    header('Location: http://www.miosito.it/mail_sent.php');
  else
    die();   

?>