久しぶりにこちらを覗いたところ活況で驚きました。

さて、Options.confの書込み失敗の話題が出ていますね。
>>174
詳細は忘れましたが、以前自動バックアップとエラー時リストアを試みましたがうまく行きませんでした。
今回、改めてコードとエラーログを見直して一つの案を思いつきました。

error.logをみると、Env.csのメソッド「SaveEnv()」内でSaveTo(root)のエラーが記録されていました。
そこで、.SaveTo(root)が正常終了してからStreamWriterを初期化すればoptions.confファイルの消失を回避できるのではと思いました。

具体的には、以下の方法です。
//―――――――――――――――――
「Env.cs」「SaveEnv()」の
writer = new StreamWriter(option_file, false, Encoding.Default);
の位置を
new TextNodeWriter(writer).Write(root);
の直前に変更。
//―――――――――――――――――

終了時にエラーメッセージが出たとしても、ファイル初期化の前のエラーであればoptions.confは直前の状態のままで、0バイトファイルを作らないと思います。
残念ながら、初期化後のエラーでは0バイトファイルになるはずです。