当たり前ですがEXECで他のプログラムを動かした後はそのプログラムによって画面や定義は変化する可能性があるので、戻ってきた後は状態を復元する必要があります。 一番頭に飛ばせば初期化処理などが含まれていると思うので復元できる事にもなってて、だから正常に戻ってる感じだと思います。 なのでパターンとしては、EXECで戻ってきた後に必要な画面のみ再表示してから無限ループに戻す、もしくは頭に戻すようにするけど、その前にフラグ(変数)で途中に飛ばせる仕組みを作り、EXEC後の実行の場合、途中から必要な場所までスキップするような処理をつくる感じになると思います。 全てを自動でやってくれるような機能があれば便利ですが、そういうのが無い場合は自分でそうなるように組むしかないって感じですね〜。