まぁSTX〜ETXまで精々数百バイトだろうし、大げさに騒ぐほどじゃないな
ETXの後ろにBCCあるタイプだとして

俺がよく使うのは System.Collections.ObjectModel.Collection(Of Byte) なバッファ用意しといて

1.ReadByteの内容がSTXだったら バッファ.Clear した上で ReadByteの内容(STX)をAdd
2.STX以外だったら
   2-1.バッファの最後尾が ETX だったら、今きたのはチェックサムと思って ACK/NCK 返しつつメイン処理へ受け渡し
   2-2 バッファの最後尾が ETX じゃなかったら、ケツに Add