It's a matter of timing. The OnComm event is triggered when the first character is received (RThreshold = 1) at the time you issue the MSComm1.Input only "AT<cr>" has been received. By the time Watch reports the buffer has been cleared (because you read the "AT<cr>" ) and the rest of the data has arrived. If you let it run you will see that you actually receive more than one OnComm event so you have to concatinate the input until you have received all the message.
semel insanivimus omnes
S Data in context = Information, S Information in context = Knowledge, S Knowledge in context = Experience
S Experience in context = Wisdom= Data