Cerchiamo di capire dove è l'errore mettendo un po di segnalatori, prova così e se la pagina di inoltro continua a essere vuota posta il codice del form, altrimenti riporta che cosa ottieni.

Codice PHP:
echo "Inizio procedura di invio mail</br>";
$oggi date("j F Y G:i");
$sito "http://www.miosito.it";
$ip "$_SERVER[REMOTE_ADDR]";
$browser "$_SERVER[HTTP_USER_AGENT]";
$to "hekate88@libero.it";
$soggetto "Modulo da $sito";


if(
trim($_POST['nome']) == "" OR trim($_POST['email']) == "" OR trim($_POST['messaggio']) == ""OR trim($_POST['a']) == "" ) {
echo 
"<font color=\"#FF0000\" face=\"verdana\" size=\"2\">[b]Tutti i campi sono obbligatori[/b]</font>";

} else {
echo 
"Tutti i campi risultano completi procedo all'invio dell'email</br>";

$body  "Modulo inviato il $oggi da $ip - $browser \n\n";
$body .= "Nome: $_POST[nome] \nEmail: $_POST[email] \n";
$body .= "Oggetto: $_POST[a]\n";
$body .= "Messaggio: $_POST[messaggio]";

   if(!
mail("$to","$soggetto""$body")){
   echo 
"Attenzione! un problema nella funzione mail ha impedito l'invio";
   }else {
    echo 
"Email inviata correttamente a $to";
   }