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