Ich habe irgendwie das Gefühl, das du ganz doll doppelt filterst... es existieren zwei Möglichkeiten der Filterung für dein Problem.
a) Über die
DB -> SQLText verändern -> DataSet neu anfordern -> es werden gefilterte Daten übertragen
b) Über das Dataset -> DS öffnen -> es werden alle Daten übertragen -> du setzt lokal einen Filter und nicht passende Entries werden nur ausgeblendet
Imho verwendest du momentan eine Mischung aus beiden.
Persönlich denke ich übrigens, ist bis auf Ausnahmen, grundsätzlich Variante a zu bevorzugen!