Disculpame si te contesto una pavada pero me parece que vos mismo te estás respondiendo cuando decís
Cita: yo no los borro sino que les cambio el estado y así identifico los que fueron eliminados
...entonces si vos tenés un campo a través del cual identificás el estado del registro por eliminado o no, preguntá entonces por ese campo y limitá la salida como necesitás.
De no equivocarme, la sentencia sería:
SELECT campo1, campo2, estado_reg where estado_reg ='eliminado" Limit 40
Esta query te mostrará (creo) hasta 40 registros cuyo estado sea igual a "eliminado".
No sé si te sirve pero te lo paso.
Una DATA: Limites de selección en una SQL
ADODB tiene una función que asegura la portabilidad de una sql en el tema de los límites de un recordset, $connection->SelectLimit($sql,$nrows,$offset),
en el caso de los productos Microsoft se usará SELECT TOP,
en mysql, postgresql se usará LIMIT y en otras bases de datos que no lo soporten se emula.
Slds.