Portableアプリが流行る理由を考えて見ませんか?
そうしたら、レジストリーの面倒くささとかがわかると思いますけどね。
親コメントにもある通り、ポータブルなアプリが利用するのは「移動が容易な設定ファイル」であって「ini ファイルであること」はどうでもいい訳です。
そんなに ini ファイルが素晴らしいのであれば、なぜ %AppData%/Mozilla 以下に .ini ファイルはほとんどなく、実際のプロファイル情報には .sqlite や .xml、.db などが並ぶのでしょうか。
また、移動プロファイルなどもある通り、レジストリーは固有のマシンのみに 100% 縛られるものではありません。
ini ファイルを利用したとしても、マシン固有の情報とならないように設定の保持や利用に開発側で気を使う必要がありますし、レジストリーであってもエクスポートしたり、環境移行ユーティリティー (OS 標準) でコピーすることも可能です。
ディスクスペースも現在は大量にあり、別に設定を特別なツールなしに読めるテキストでも問題ないし
むしろそちらのほうが簡潔で自由度が高い。
Firefox の例などを出しましたが、「データ表現の能力が低い (一行のテキストのみ)」「速度面で不利」「アプリケーション側で情報を扱いにくい場合がある (階層的な表現はレジストリーと同等)」という面から、自由度が高いからテキストがいい→でも ini ファイルの表現能力じゃ使いにくいので、簡単なところだけ ini にして実際の情報は XML で、というパターンもある訳です。
速度面の影響は、テキストファイル一般では常に付きまといますね。
レジストリーを使わないとすると、iniしかありませんしね。
最近は .manifest とか .exe.config (いずれも XML)、そしてユーザー固有となるアプリケーションごとの情報は %AppData% 以下に (任意の取り扱いやすい形式で) 入れる、などという形が幅を利かせておりまして。
できるだけ、一旦壊れる起動できなくなるレジストリーみたいに全てを一緒くたにするよりも、iniのように独立性が高いほうがなにかといいと思いますけどね。
Win3.x 時代などの .ini ファイルに依存していた時代では、.ini ファイルが壊れたら普通に起動できなくなってましたけど。
今はレジストリーに依存しているから、レジストリーの破損が大きな影響がある、というだけですね。
また、アプリケーションのユーザー設定が格納されるのはシステム用のレジストリーファイルではなく、ユーザー固有のレジストリーファイルで、通常は %USERPROFILE%\ntuser.dat (バックアップも自動作成される) ではないでしょうか。
これが壊れてログオンできなくなることはありますが、Windows 自体が起動できなくなることはありません。