Open funktioniert nur, wenn es sich um eine Select-Statement (also eine Abfrage) handelt. Bei Insert, Update... (also allen Manipulationen der Daten...) kommt besagte Fehlermeldung, man muss hier ExecSQL verwenden.
Eigentlich bekomme ich bei
ADO.Open auch bei einer leeren Ergebnismenge keine Fehlermeldung bzw. es tritt keine
Exception auf.
Zeig' uns bitte mal ein
SQL-Statement, bei dem der Fehler auftritt, eventuell ist da ja was zu erkennen.