プログラムソースの中身まで理解できる能力はないので、現象面から推測できる範囲のことしかいえませんけど......。
Firefox 10.0 がリリースされたばかりですが、当方の環境(Windows XP SP3)に残していた Firefox 9.0.1 をセーフモードで起動し、ご提示の手順に若干のアレンジを加えて(下記)ざっくり試してみると、壁画 さんがおっしゃる挙動が再現されました。
セッション復元における、とくに複数のウィンドウがリストアされたときの動作のうち、OS のタスクバーに表示されるボタンの位置は、おっしゃるように不可解な動作になりますね。
Firefox のウィンドウを [A] 、[B] …… のように表し、タスクバー上の並びが次のようだったとします。
[A] - [B] - [C]
このとき、 [C] のウィンドウで終了 ―― つまり [C] にフォーカスが当たった状態で Firefox を終了させると、次回起動時に [C] が一番最初に復元されるようです。
その結果、復元されたウィンドウのタスクバー上の並びは
[C] - [A] - [B]
となりました。
[B] のウィンドウで終了すると、次回起動時の復元では
[B] - [A] - [C]
となりました。
一方、デスクトップ上のウィンドウの位置は、最初が
[A]
[B]
[C]
のような配置だったとすると、この位置関係は正常に再現されます。
デスクトップ上のウィンドウの位置は、ウィンドウを最大化していると判別できませんが、適当な大きさにして区別できるように並べてみるとわかります。
タスクバー上の並びは、単純にウィンドウが開いた順ですから、ウィンドウ復元の順序が 8.0 までと 9.0 以降で変化している感じです。
なお、ウィンドウ内のタブについてはとくに問題はなさそうです。
で、時間の許す範囲で Firefox 9.0 のリリースノートを調べただけなので見落としや勘違いがあるかもしれませんが、9.0 で修正されたバグの中に次のようなものがあり、どうもその副作用のような気がします。
・
669272 Session Restore moves windows around unnecessarily
印象的には 9.0 で入り込んだバグだと感じられますが、詳しいことはわかりません。
ぼく自身は通常、ウィンドウを複数開くような使い方をしませんし、基本的にセッションの保存・復元を無効にしていますので、不慣れさから動作検証にぬかりがあるかもしれないことをお含みおきください。
対応策ですが、この挙動をコントロールできるオプション設定は思い当たらず、とりあえずは最初に開いたウィンドウで Firefox を終了させるぐらいしか思いつきません。
セッションを細かく管理する機能を提供するアドオンを導入し、セッション管理を Firefox からそのアドオン主体に切り替えることで対応できるかもしれませんが、自分では試せていません。
(補足)
ご存知かと思いますが明記がないので念のため――。
Firefox のアップグレード前後で不可解な動作が起こったときは、まずもって公式サポートにある「基本的なトラブルシューティング」を確認・実行してください。とくに、セーフモードと新しいプロファイルでの動作検証は必須です。
・基本的なトラブルシューティング
・Firefox 10.0 リリースノート > トラブルシューティング(9.0 / 9.0.1 も同様です。)
とりあえず以上です。参考程度に見ていただければと思います。大はずれだったらすみません。