Help designing simple serial packet protocol - bytes lost?

My protocol library:

There are some drawbacks to using escape bytes, namely that corruption can make a byte look like an escape when it should't, or make an escape into a normal byte, so you really gotta use a checksum(Serial comms are usually reliable so I just use a twos complement fletcher, because it's one of the smallest fastest hashes there is.)