Ok, ahora entiendo lo que necesitas.... (los posibles problemas con Hacienda que te genere esto los solucionas por otro lado).
 
Se trata de encontrar lo que 
NO esta en la tabla, yo lo solucionaria con programación externa a partir de la información que te dará la query que te adjunto     
Nos da la factura mínima y máxima de cada serie el numero de facturas que hay en la tabla y por diferencia el numero de saltos... 
En pseudo codigo    
Código pre:
Ver original- //Consigo la lista de series 
- Serie="Select Serie FROM facturas GROUP BY serie" 
-   
- Para cada Serie { 
-   
- //Consigo el resumende facturas de la serie 
- NumSaltos=SELECT Facturas.Serie,  
-              Min(Facturas.No) AS MinNumero,  
-              Max(Facturas.No) AS MaxNumero,  
-              Count(*) AS NumFacturas,  
-              (Max(Facturas.No)-Min(Facturas.No)+1)-Count(*) AS Saltos 
- FROM Facturas 
- WHERE Facturas.Serie=Y 
- GROUP BY Facturas.Serie; 
-   
- Encontrado=Falso 
-   
- //Si hay saltos en la serie 
- Si Saltos>0 { 
-   
- //Consigo todas las facturas de la serie 
- Factura="SELECT No FROM facturas WHERE serie='Y'" 
-   
- //Para cada numero entre 1 y Max comparo con las Facturas de la serie 
-    Para X=1; X<=MaxNumero; X++{ 
-           Para cada Factura { 
-                 Si Factura.No==X { 
-                       Encontrado=Verdadero 
-                  } 
-           } 
-   
-        //Si no esta lo reporto 
-        Si Encontrado==Falso{ 
-               "Falta la " + X //Aqui se podria hacer el INSERT 
-        } 
-   } 
- } 
- } 
Seguro que se puede optimizar, el numero de consultas, de bucles.... o como 
no repasar siempre todas las facturas usando como minimo el numero maximo del ultimo dia que se ha pasado el proceso... 
Posible INSERT a ejecutar 
INSERT INTO facturas (serie,no,comentario) VALUES (Y,X,"Perdida"); 
con lo que se completarian las series.....