こんな記事見つけてしまいました。
TFOOT must appear before TBODY within a TABLE definition so that user agents can render the foot before receiving all of the (potentially numerous) rows of data. The following summarizes which tags are required and which may be omitted:
「tfoot は、テーブル内で、tbody よりも前に出現しなければならない。こうしておくと、表データが大きい場合などに、表内のデータをすべて取得するまで待たずにユーザーエージェントがフッタのレンダリングが行える。」
ここが問題のところですね。はっきりと 「しなければならない (must)」 と書かれています。覚えておきましょう。
引用元:
かなり衝撃を受けました。tfootタグはtbodyタグの後に入れるという先入観があったので。。。
一度は、XHTMLの仕様書に目を通すべきでしょうか。