Без дополнительной информации (см. Мои комментарии) проблема может быть в поврежденном индексе.Что происходит, когда вы пытаетесь:
select * from table where field1 || '' = field2 || ''
Использование этого запроса заставит Firebird игнорировать индекс (если есть) и выполнить полное сканирование таблицы.
Если это вернет результат, выхотите проверить и, возможно, восстановить базу данных (используя gfix ), а также выполнить резервное копирование и восстановление базы данных или удалить и заново создать индекс.