>>795
gBrowser.tabContainer.addEventListener('SSTabRestored',callback,false);
と言う行を消せば取り合えず直ると思います.
var last = (event.type == 'SSTabRestored') ? null : event.originalTarget;
と言う行も var last = event.originalTarget; としておくと,
動作は変わらないものの無駄が減って良いと思います.

ただ,コマンドライン引数や他のアプリからURLを指定して新規タブを開いたときに,
空白タブが残ると思います.タイミング次第のような気もしますが.
色々弄ってみたんですが,空白タブの検出が思いの他難しいので改善は難しいです.