>NAKがまずいとするとSTALLを返すか、0パケットを
>返すかのどちらかにしないといけないのでしょうか。

それは無いと思います。
NAKが続くこと自体を修正する必要は無い筈です。

お話を伺う限りですが…

デバイス側でACKにする制御を行っていると思いますが、
何らかの理由でACK制御が出来ていない場合がある可能性は
無いでしょうか。
(デバイス側のファームウェアの話です)

ACK制御ができていない状態で、バッファに次のデータを
上書きすると仰るような症状になるのかなぁーと思った次第です。
#あまり自信はありません。間違ってたらごめんなさいです。