Ho trovato un po di cose in giro..
Uno script che mi crea un timer prima del redirect (ma redirect l'ho disattivato e mi serve solo per il timer) e l'altro che fa l'opzione di visualizzare il banner. gli ho uniti e l'effetto e quasi quello che volevo.

Codice PHP:
<script type="text/javascript">
function 
timeout(){
 
setTimeout(function(){
  
document.getElementById('banner').style.display="none"
 
}, 30000);
}
</script>

<style type="text/css">
body {
 margin:0 auto;
}
#content {
 position: absolute;
 height: 70%;
 width: 70%;
 left:15%;
 top:15%;
 text-align:center;
 background: #EAEAEA;
}
#banner {
 position: absolute;
 z-index: 1;
 height: 100%;
 width: 100%;
 background-color: rgba(0, 0, 0, 0.8);
 left:0;
 top:0;
}
#banner img{
 position: absolute;
 left: -234px;
 margin: 50% 0 0 50%;
 top: -30px;
}
</style>

<body onLoad="timeout()">
 
<div id="content">

Contenuto</p></div>
 
 <div id="banner">
<form name="redirect">
Verrai reindirizzato tra <input type="text" size="2" name="counter"> secondi
</form>
        [img]http://www.bornoncloud9.be/img/general/Axion/title-image.jpg[/img]
</div>

Verrai reindirizzato tra <input style="width:20px;" type="text" size="2" name="counter"> secondi


<script language="Javascript">
<!--

// Imposto il numero di secondi per il conto alla rovescia
var secondi = 30;

// Creo la variabile conteggio e contestualmente
// imposto il valore di partenza al numero di secondi + 1
var conteggio = document.redirect.counter.value = secondi + 1;

// Creo la funzione che gestisce il conto alla rovescia
function contoallarovescia()
{
  // Se la variabile conteggio è maggiore di 1...
  if (conteggio > 1)
  {
    // decremento il valore della variabile conteggio
    conteggio = conteggio - 1;
    // e contestualmente aggiorno il numero mostrato a video
    document.redirect.counter.value = conteggio;
  }else{
    return
  }
  setTimeout("contoallarovescia()", 1000);
}

contoallarovescia()
</script> 
Vorrei che sparisse anche il conteggio e non solo l'immagine.