The problem I see after Start or Start with Full Compile is that the first DeBug.Print listing sometimes(50% of the time) shows the HByte and LByte reversed. By clearing the buffer at the end of the If statement, the second cycle and subsequent cycles show the HByte and LByte correctly.
I've tried placing the "MSComm1.InBufferCount = 0" above the If Statement but that causes an error at the 1st HighByte calculation.
I believe the header info is correct, the code is straight from Reynolds Electronics.

http://www.rentron.com/receiving_data.htm

VB Code:
  1. ' If comEvReceive Event then get data and display
  2. If MSComm1.CommEvent = comEvReceive Then
  3.  
  4. ' Get data (2 bytes)
  5.    sData = MSComm1.Input                                
  6.  
  7.    lHighByte = Asc(Mid$(sData, 1, 1)) ' Get 1st byte
  8.    lLowByte = Asc(Mid$(sData, 2, 1)) ' Get 2nd byte
  9.  
  10. 'Look at the HighByte and LowByte
  11.    Debug.Print "HB=", CStr(lHighByte), " ", "LB=", CStr(lLowByte)
  12.  
  13. ' Combine bytes into a word
  14.    lWord = (lHighByte * &H100) Or lLowByte
  15.  
  16. ' Convert value to a string and display
  17.    lblRCTime.Caption = CStr(lWord)
  18.  
  19. 'Clear Buffer so next cycle will be correct
  20.    MSComm1.InBufferCount = 0
  21.  
  22. End If