Mit dem Schlüsselwort SFLMSGRCD(24) gibts du ja die Zeile für die Nachrichten an.

Versuch doch mal, ob du das ganze MSG-Format nicht in einem Subfile-Window unterbekommst.

Ausserdem kannst du auch Fehlermeldungen mit ERRMSGID ausgeben, die automatisch im Fenster erscheinen, es sei denn du verwendest *NOMSGLIN.

Was die Darstellung angeht:
Beim CRTDSPF kannst du angeben RSTDSP(*NO), so dass das System den Inhalt nicht automatisch wiederherstellt.
Das muss sowohl im rufenden als auch aufgerufenen Programm definiert werden.
Aber: Für die Neuanzeige des Bildschirms nach einem CALL ist nun das Programm selbst verantwortlich.