Nachtrag
Die beiden Ausführungspläne zeigen jedenfalls, dass der 2. Plan viel besser ist.
Also wie kann man den Optimizer dazu bringen, dem 2. Plan zu folgen ohne die Bedingung wegzulssen?
Den (Ausführungs)Plan angeben
http://www.firebirdfaq.org/faq224/
Unbehilfliche Indizes löschen (Feld1)
oder wenn der Index an anderer Stelle gebraucht wird, die Abfrage so formulieren, dass der Index nicht greifen kann:
http://www.firebirdfaq.org/faq158/
Außerdem:
Warum verwendest Du "Group by", ohne eine Aggregatfunktion?
Falls es um die Unterdrückung doppelter Ergebnisssätze geht, überprüfe Dein Join Kriterium.
Wenn eine Bedingung fehlt, kann es zu Permutationen führen, die mehrfachen Datensätze wären ein Indiz dafür.
Das zieht natürlich auch die Performance runter und "verwirrt" ggF. den Optimizer.