Your code assumes that once you see a 'W', all the other characters will be delivered back to back. That isn't necessarily so - there may be a time when transmission is in process, but nothing is available to read yet. If that occurs, you'll print what you have at that point and go back to looking for a 'W'. Since there isn't another, no more input will be read.
There's more to it than that I suspect. You're only processing 64 characters, which by a remarkable coincidence is the size of the serial read buffer.