Was mich verwundert ist, dass nach dem Umwandeln mit CLOSQLCSR *ENDMOD die ODPs immer noch offen sind.

Kann es sein, dass immernoch die alte Variante läuft, d.h. die bei der mit *ENDACTGRP umgewandelt wurde?
Auf deutsch heißt das, hast Du die Aktivierungsgruppe beendet, bevor Du das neuumgewandelte Programm aufgerufen hast?

Ansonsten versucht SQL immer die ODPs solange offen zu halten wie möglich, um einen FULL OPEN zu vermeiden und einen PSEUDO OPEN auszuführen. Beim Full Open werden die Access Pläne aktualisiert und der ODP neu aufgebaut und mit Daten geflüllt. Beim PSEUDO Open wird der ODP wiederverwendet und lediglich die Daten aktualisiert. Das Aufbauen des ODPs ist der zeitaufwändigste Prozess beim Ausführen eines SQL Statements.

Eine Möglichkeit (Notlösung) , die ODPs auf eine bestimmte Datei zu schließen, sofern Du sie in Deinem Programm unqualifiziert angegeben hast, ist die Bibliothek in der sich die Datei befindet aus der Bibliotheksliste zu nehmen und anschließend wieder einzufügen.

Birgitta