例のzipを解凍せずに圧縮フォルダの状態で起動したらどうなるのかやってみた。

XPの場合だけど、
C:\Documents and Settings\(ユーザ名)\Local Settings\Temp の下に
「(zipファイル名) の一時ディレクトリ 番号」 というフォルダが出来る。

zipファイル名 がp2proxy_214.zip で初めての起動だったら
「C:\Documents and Settings\(ユーザ名)\Local Settings\Temp\p2proxy_214.zip の一時ディレクトリ 1」 となる。
で、このフォルダが存在している状態でまた圧縮フォルダのexeを起動させると 1 の部分が 2 になる。
2回目だと 「C:\Documents and Settings\(ユーザ名)\Local Settings\Temp\p2proxy_214.zip の一時ディレクトリ 2」 という感じ。
新しく起動させるごとに別のフォルダが作成されるってわけ。
つまり、p2proxyの設定をして保存をすると保存はされるんだけど、
次の起動時にはそのフォルダが利用されず、別の新しいフォルダで起動するため、いつまでたっても保存した設定が反映されることはない。

問題は保存処理は「正常に完了している」ということ。
保存できないとかいう状況ならそれを検出してメッセージを出すことも可能なんだけど。。。
正常に完了している以上、アプリケーション側で「圧縮フォルダの状態で起動」を検出するのは難しいかな。