Hola.
A mi forma de ver las cosas, la funcion LAST_INSERT_ID() recupera el ultimo ID que ha sido generado en la ultima operacion de inserccion. 
Por otro lado, si tu campo es auto increment podrias escribir el procedimiento de inserccion asi:  
 Código PHP:
    if(is_array($_POST['dirigido'])){
 
$tot = count($_POST['dirigido']);
 
for($i=0; $i<=$tot; $i++){
 
if(!empty($_POST['dirigido'][$i])){
$nivel     = $_POST['nivel'][$i];
$dirigido  = $_POST['dirigido'][$i];
$fecha     = $_POST['fecha'][$i];
$actividad = $_POST['actividad'][$i];
 
include("conexion.php");
[B]mysql_query("INSERT INTO circulares(nivel, dirigido,fecha,actividad) VALUES('$i','$nivel','$dirigido','$fecha','$actividad')",$link);[/B]
include("desconexion.php");
 
}
 
}
 
} 
    
  y dejar que mysql genere las claves automaticamente.
Espero sea lo que estas preguntando y te sea de ayuda.