Wenn du mit Fenstern arbeitest musst du ggf. auf Satzebene des Fenster USRRSTDSP verwenden und das Bild komplett neu ausgeben.

RSTDSP(*YES) bedeutet nichts anderes, als das bei der 1. Anzeige eines Bildes, das vorherige Bild der übergeordneten Aufrufebene gespeichert und bei verlassen des Programmes wiederhergestellt wird (CLOSE!).
Eine Wiederherstellung unterbleibt, wenn die DSPF nicht geschlossen wird.

Das Problem ist nun noch, dass durch ASSUME zwar der Bildschirm nicht gelöscht wird, aber beim erneuten Aufruf des Fensters durch RSTDSP(*YES) das zuerst gemerkte Bild angezeigt wird.
M.a.W: das vorherige Bild erscheint nicht aktualisiert.

Wichtig ist also, eine geschickte Kombination aus RSTDSP(*NO), ASSUME (Bild nicht löschen) und USRRSTDSP sowie eine Wiederherstellung der Anzeige bei Rückkehr aus dem Unterprogramm.