MZアプリケーションの処理の中で、そのアプリケーションそのものを再起動することはできないと思いますが、それらしい処理を実現することは可能です。
確かに、ボタンのアクションイベントの処理の中で、アプリケーションコンポーネントの「startApplication()」メソッドを呼ぶことで、アプリケーション開始イベントが発生します。つまり起動時の処理をもう一度実行することは可能です。
一方、どこかでアプリケーションコンポーネントの「アプリケーションを終了する()」メソッドを呼び出すと、実行中のプロセスそのものが完全に終了してしまいますので、それ以降の処理を記述していても実行されることはありません。
そのため、再起動のような処理を実現するためには、アプリケーション内のすべてのデータや値が起動時の状態となるような初期化用のサブルーチンなどを作成しておいて、ボタンを押したときにそれが実行されるようにします。
上記の方法では希望する動作が実現できないということがありましたら、こちらでも検討しますのでお知らせください。よろしくお願いします。