Gracias por responder GatorV
 
Esta es la pagina principal, como verás para actualizar la tabla cada x seg. uso la clase prototype.
En ésta pagina solo muestro la tabla como está inicialmente en la base de datos.  
Código:
 <html>
<head>
<title></title>
<script src="prototype.js" language="javascript"></script>
<script language="JavaScript" type="text/javascript">
function nuevoAjax()
{
    var xmlhttp=false;
    try
    {
        // Creacion del objeto AJAX para navegadores no IE
        xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e)
    {
        try
        {
            // Creacion del objet AJAX para IE
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(E) { xmlhttp=false; }
    }
    if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp=new XMLHttpRequest(); }
    return xmlhttp;
} 
function cargaenvios()
{
ajax=nuevoAjax();
ajax.open("POST", "enviar.php", true);
document.getElementById("empezar").value= "Enviando";
document.getElementById("empezar").disabled= "disabled";
ajax.onreadystatechange=function()
{
    if (ajax.readyState==4)
    {
        document.getElementById("envi").innerHTML=ajax.responseText;
    }else{
        document.getElementById("envi").innerHTML='<img src="loader.gif" align="middle" /> Enviando...';
}
}
ajax.send();
}  
function tablamail() {
            var target = $('tabla');
            if (!target) return false;
            new Ajax.PeriodicalUpdater(target, 'tabla.php',{frequency:'2'});
        }    
 </script>
</head>
<body onload="tablamail()">
<input type="button" id="empezar" name="empezar" value="Empezar envio" onclick="javascript:cargaenvios();" />
<div id="envi"></div>
<br><br>
<div id="tabla">
<?
include ("../../conexion.php");
$link=Conectarse();
$query = mysql_query("SELECT * FROM empleados ") or die(mysql_error());
echo "<table  border=\"1\">
<tr><td><b>nombre</b></td>
<td><b>puesto</b></td>
<td><b>departamento</b></td>
<td><b>email</b></td>
<td><b>status</b></td>
</tr>";
while ($row = mysql_fetch_array($query)){
echo "<tr><td>$row[nombre]</td><td>$row[puesto]</td><td>$row[departamento]</td><td>$row[email]</td><td>$row[status]</td></tr>";
}
echo "</table>";
?>
</div>
</body>
</html>
  luego llamo con ajax a la pagina enviar.php, haciendo click en el boton "Empezar envio", que me hace todos los envios de cada uno de los mails que va sacando de la base con un while y me actualiza uno por uno el status en la base.  
Por otro lado la llamada ajax a la pagina de actualizacion (tabla.php) cada x segundos tiene practicamente esto, donde solo recoge nuevamente los valores y actualiza la tabla principal:  
Código:
 <?
include ("../../conexion.php");
$link=Conectarse();
$query = mysql_query("SELECT * FROM empleados ") or die(mysql_error());
echo "<table  border="1">
 <tr><td><b>nombre</b></td>
 <td><b>puesto</b></td>
 <td><b>departamento</b></td>
 <td><b>email</b></td>
 <td><b>status</b></td>
 </tr>";
while ($row = mysql_fetch_array($query)){
echo "<tr><td>$row[nombre]</td><td>$row[puesto]</td><td>$row[departamento]</td><td>$row[email]</td><td>$row[status]</td></tr>";
}
echo "</table>";
?>
  El problema es que hasta que no termina el envío y el primer ajax recoge "envio terminado" desde el script php (enviar.php) recién ahí me muestra la tabla actualizada. 
no lo hace en tiempo real o cada 2 seg. se actualizara para que pareciera en tiempo real. 
Ojala me haya explicado un poco mas con el codigo...