Okay, so this part sure is the painful part... after about an hour discussing it, Ian and I decided to do something, just we wanna know if this is the 'correct' way of doing it...
Basically we're going to read in one byte at a time to a fixed queue of 28 positions. When the first two items and last two items are equal to 255, then we know that we have a full packet, and we read the queue for the appropriate information. If all four items aren't equal to 255, then we know we don't have a full packet, and we just continue adding to the queue.
For a visualization (they're easier to understand), I made a simple visualized version of what we're going to do...
http://24.186.144.31:81/queue-visual/moo.html
I believe this is going to work, but if it doesn't, how are you supposed to parse the bytes, or, determine where a packet begins?