What I understand is that every time you use ReceivedData = MSComm1.Input
that the content from the buffer is copied into the ReceivedData and the buffer is cleared ?
True. But think about the data in terms of bytes. A message being sent consists of several characters, just like the words in this message.
Humans know how to read data (words) because we recognize spaces (and other punctuation) between words. Computers don't. They just collect data into buffers.
It is up to you to get the data out of the buffer a character at a time until you have a word, or the equivalent in your process.
What you are doing now is just like reading while I am typing. If you try to make sense of what you read, while I am in the middle of typing a word, the last (partial) word read in one glance and the first (partial) word read in the next glance won't make sense.