q1. is the ReadVariant method more or less like a "blockread" into buffer var?
i ask because i'm sending a packet of size byte to the serial port and this statement from your VB examples, Log ("OnRxChar " + Str(Count)) , returns various count values.
thus the statement, Received = SPortAx1.Read(Buff(1), Count) , doesn't read the entire packet.
q2. could this be an interrupt timing issue in order to get the correct count?