Gracias Marc por el asunto de los indices, nunca se me habria ocurrido.
Un placer luk.
Es lo bueno de este oficio, cada día todos aprendemos cosas nuevas. Lo que te ha ocurrido es muy normal (y ya no te volverá a pasar), cuando crece tu base de datos las consultas se pueden poner lentas, ya que no siempre tendrán los índices que necesitan para optimizarlas.
Afortunadamente la solución es muy sencilla. Solo tienes que lanzar la consulta sospechosa en tu Administrador de Firebird preferido (yo recomiendo encarecidamente el IBExpert) y enseguida sabes si tu consulta está optimizada (se ejecuta en milisegundos) o necesita un índice (se ejecuta en segundos, o incluso en minutos).
Detectar el índice que necesitas suele ser bastante evidente, aunque si al principio te cuesta un poco, es normal, siempre puedes recurrir a la gente de comunidades tan generosa como esta, que seguro que estarán encantados en echarte una mano (como yo también haré si tengo la posibilidad).