Al final esta es la solucion que utilizo un poco chapucera, pero la pongo aqui por si a alguien le interesa o la puede mejorar y asi aprendemos todos ;)
private void cerrarProceso()
{
// Se recorren todos los procesos llamados Excel y se cierra el que lleva menos tiempo abierto
// ya que sino no se cierra
System.Diagnostics.Process[] procs;
procs = System.Diagnostics.Process.GetProcessesByName("EXC EL");
if (procs.Length>0)
{
DateTime fecha=procs[0].StartTime;
int proceso=0;
for (int p=1;p<procs.Length;p++)
{
if (fecha< procs[p].StartTime)
{
fecha=procs[p].StartTime;
proceso=p;
}
}
procs[proceso].Kill();
}
}
http://hhdirecto.webcindario.com