Sé que lo que voy a decir tiene muchos detalles, así que no lo tomes como una "regla dicha por dios"

.
Una consulta con 5.000 registros, pasarla a un Stringlist tardaba 5 segundos, al usar EnableControls pasó a durar 46 milisegundos

. Por supuesto teniendo clave primaria.
Si tienes el doble de registros, ya tienes 10 segundos; le sumas el no tener clave primaria ni índices, ahí tienes tus 25 segundos... fijo.
Saludos