Incorrect Data

I have a very odd situation where some of the data is incorrect coming back through Async32.

I have a program that queries a product for data and the data being sent to the computer is:
0Fh,84h,03h,00h,02h,FFh,84h,40h,F9h,01h,00h,A1h,DBh,04h
However the data being received through Async32 is:
$0F,$1E,$03,$00,$02,$FF,$1E,$40,$F9,$01,$00,$A1,$DB,$04

As you will notice both the 84h data bytes are received at 1Eh bytes.
The rest of the data is correct.

I have also captured this using one of our serial splitters where the single serial port on the product is sent to two ports on the computer. Watching through a terminal program I get the correct data.

For some reason Async32 is not receiving them correctly.

The receive routine is very simple.
It uses VaComm.OnRxChar event to retrieve every byte as it is received and placed into a buffer.

Any ideas on what might be going on here?

Thanks