Waitkey und Inkey funktionieren so wie du geschrieben hast mit z.B. waitkey(#2)
Da du aber im Programm nicht auf den Empfang des Startbytes wartest musst du einen Buffer verwenden.
Code:
Config Serialin1 = Buffered , Size =10
Serialin ist für COM1, Serialin1 für COM2.

Grüße Stefan

Edit: Was mit gerade noch aufgefallen ist.... du hast die Baudrate für COM2 nicht richtig eingestellt.
Für COM1:
Code:
$baud = 57600
(in deinem Code richtig)
und für COM2:
Code:
$baud1 = 57600