If you're just sending text lines, then it's not hard to accumulate the incoming characters into a buffer and then dole them out when you have a complete line, eg:
Dim TextBuffer As String 'global serial port input buffer
Sub AStream_NewData (Buffer() As Byte)
'add to buffer
TextBuffer = TextBuffer & BytesToString(Buffer, 0, Buffer.Length, "UTF8")
Dim EOLChar As String = Char(13) 'or 10 or 0 or whatever
'dole out lines (if any)
Do While True
Dim EOLCharAt As Int = TextBuffer.IndexOf(EOLChar)
If EOLCharAt = -1 Then
Exit
End If
Dim TextLine As String = TextBuffer.SubString2(0, EOLCharAt) 'get next line
TextBuffer = TextBuffer.SubString(EOLCharAt + 1) 'remove from buffer
HandleTextLine(TextLine)
Loop
End Sub
or if you prefer clarity over efficiency, you could change this bit:
'''Do While True
''' Dim EOLCharAt As Int = TextBuffer.IndexOf(EOLChar)
''' If EOLCharAt = -1 Then
''' Exit
''' End If
Do While TextBuffer.Contains(EOLChar)
Dim EOLCharAt As Int = TextBuffer.IndexOf(EOLChar) 'should always find EOLChar