Hi,
I'm not sure if the DEFINE HSER_BAUD accepts non standard baudrates, I suspect it does since it kind of works. What's with the 9615 anyway?
I don't know what would make it fail on the last character - sometimes. Are you typing in, and sending, the characters one by one, ie there's 100ms or whatever between each character?

Anyway, here's an alternative aproach I just wrote. I have not tested it, not even compiled it so take it for what it is.

Code:
Key VAR BYTE
CorrectKey VAR BYTE[9]
KeyIndex VAR BYTE
PassFail VAR BIT

Pass CON 1
Fail CON 0

CorrectKey[0] = "2"
CorrectKey[1] = "9"
CorrectKey[2] = "9"
CorrectKey[3] = "7"
CorrectKey[4] = "9"
CorrectKey[5] = "2"
CorrectKey[6] = "4"
CorrectKey[7] = "5"
CorrectKey[8] = "8"


Main:
hserout [":- "]

PassFail = Pass
For KeyIndex = 0 to 8
	HSERIN 65535, bed, Key
	HSEROUT Key
	IF Key <> CorrectKey[KeyIndex] THEN
		PassFail = Fail
	ENDIF
NEXT

IF PassFail = Pass THEN
	HSEROUT[10, 13, "Correct key entered",10, 13]
ELSE
	HSEROUT[10, 13, "Wrong key entered", 10, 13]
ENDIF
/Henrik.