Dann ist das ein Problem der COBOL-Rununit.
Soweit ich das gesehen habe, wird die Verbindung zur DB getrennt, wenn es die höchste Aufruf-Ebene einer SQL-Verbindung ist.
Dies kann man nur verhindern, wenn das übergordnete CBL-Programm auch ein SQLCBL ist, so dass dort bereits der implizite Connect zur DB erfolgt.

Was du noch probieren kannst ist an Stelle des Goback ein
EXIT PROGRAM AND CONTINUE RUN UNIT

In diesem Fall bleibt das Cobol aktiv.
Wenn das alleine nicht hilft, muss das SQLCBL ggf. in eine eigene ACTGRP, so dass es als eigene Rununit gestartet wird. Mittels obige Exits bleibt diese dann bis Job-Ende oder RCLACTGRP aktiv.

COBOL arbeitet diesbezüglich erheblich anders als RPG.

Um ein CBL-Unterprogramm definitiv rauszuschmeißen gibt es noch die Anweisung CANCEL.