スレのGETの仕方なのだけど、以下のロジックに欠陥はない?

ローカル.datのmtimeは、リモート.datのmtimeに合わせておく。
で、ローカル.datのラスト10レス分を切り出しておく

GET /bbs/dat/key.dat HTTP/1.1
Host: xxx.2ch.net
User-Agent: Monazilla/1.0 (omaemona)
If-Modified-Since: (ローカル.datの時刻)
Range: bytes=(最新10レスの位置)-

if (status == 304) {何もしない(変更無し)}
else if (status == 200) {今回取得したもので、全部差し替え}
else if (status == 206)
{
 if (ローカル.datのラスト10が、今回取得したものの部分集合)
  ローカルのラスト10を、今回取得したものとさしかえ
 else
  あぼーんがあったとみなし、全部取得
}
if (取得した部分があったら)
{
 ローカル.datのmtimeを、リモートL-Mの時刻で変更
}

今、これでちょっとしたツールを動かしているのだけど、
Squidなどのキャッシュ串相手のときは、キャッシュをスルー
させるリクエストを入れないと、206を返してくれなくなる。