>>289 ですが、
if (datがあるか)
then 追加書き込み処理
else エラー

ってことだと思うんですが、それだと確率はとても少なくできますが、完全には避けられないですね。
if を評価して then に行く間にdat落ちすると、、、。

ということで、これをきちんとやろうとすると、結構おもしろいすね。
(flockを使うってのは、もちろんなし)
このへんのことろをいい加減にやってるところも、2ちゃんねるらしいっちゃらしいんですが。