Die Abfrage per
SQL und Locate sind 2 verschiedene Dinge. Locate verschiebt den Datensatzzeiger clientseitig in einer (temporären) Datenmenge. Die explizite Abfrage "schaut" remote.
Ist die ursprüngliche Abfrage nicht vollständig gefetcht, findet Locate nichts bzw. Änderungen an der Datenbank fehlen. ( abhängig von implementierung in der entsprechenden TDataSet-Komponente).