Wobei ich jetzt halt gemerkt habe:

IGNORE_DERIVED_INDEX = *YES zwingt zu 99,99% in die SQE.

IGNORE_DERIVED_INDEX = *NO (*DEFAULT) und LF mit Select/Omit zwingt zu 99,99% in die CQE.

Ansonsten gilt halt, bestimmte neue SQL-Funktionen sind in der CQE nicht mehr implementiert, so dass die SQE zwangsläufig verwendet werden muss.
Andersherum gilt auch, dass es in der SQE noch nicht implementierte Funktionen gibt, so dass eben doch die CQE genommen wird.


PS:
optimize for n rows:
Alle meine Versuche, die selben Antwortzeiten bzgl. des 1. Satzes wie mit STRSQL zu erreichen, sind kläglich gescheitert.
Egal ob ich ODBC oder embedded SQL verwende, den Weg, den STRSQL geht kann ich leider nicht nachvollziehen.

Ein SQL in STRSQL ist häufig sehr schnell, die Debug-Nachrichten werden untersucht, ggf. angewendet.
Spätestens im embedded SQL läuft da irgendwas anders, so dass diese Antwortzeiten einfach nicht erreichbar sind.