Das liegt dann an der unterschiedlichen Betrachtung des Optimisers.
Hast du z.B. eine Where-Klausel und es kann ein Index genommen werden, kommt das Ergebnis u.U. an den fehlerhaften Daten nicht vorbei.
Ist ein Tablescan erforderlich oder ein ungünstiger Index, liegen die falschen Daten ggf. mit im Zwischenergebnis.

Nun kommt es auch noch auf dein Release an.
Je nach dem ob V5, V6, V7 arbeitet der Optimizer immer mal wieder anders.
Und da nahm der Query/400 die sog. ClassicalQueryEngine (CQE) und SQL die SQLWQueryEngine (SQE).
Ab irgend einem Release (frag Birgitta) wurde die CQE abgeschafft.