Nein, da brauch ich kein Dataset, wenn ich die Daten nicht in einem Steuerelement anzeigen möchte. Mein Beispiel funktioniert bei mir in Delphi 2006 + DBX + Firebird problemlos.
Ich habe jetzt noch weiter rumgespielt. Kurioserweise funktioniert es korrekt, wenn ich q.PrepareStatement weglasse.