Hola Ce5aR!
  En mi opinión deberias aumentar el tamaño de la cola de recepción de datos por ejemplo:
      Const COLARX As Integer = 4096                    'Tamaño de cola de recepción
      Const COLATX As Integer = 4096                    'Tamaño de cola de transmisión
    ' Establecer el tamaño de las colas de recepción y transmisión
     PuertoCom.InBufferSize = COLARX                         ' cola de recepción
     PuertoCom.OutBufferSize = COLATX                        ' cola de transmisión
Y en tu porcedimiento Puerto_OnComm() establecer un pequeño mecanismo de espera para coger los datos en bloques mas grandes, con lo que te daria tiempo a recoger todos los datos, algo asi:
     ' Esperar hasta que haya 100 bytes en el búfer de entrada
     Do Until PuertoCom.InBufferCount >= 100
            DoEvents
     Loop
Espero que te sirva de ayuda. Suerte 
