Richard, have you actually tried your null termination method?
When trying these lines of code :

OUTARRAY VAR BYTE(80) 'serial string output array
BYTEIN VAR BYTE
character VAR BYTE

BYTEIN = 0
WHILE OUTARRAY(BYTEIN)
LOOKUP BYTEIN,[OUTARRAY],CHARACTER
' TX_BYTES2(TX_OUTPUT2) = CHARACTER
BYTEIN = BYTEIN + 1
' GOSUB SNDCHAR2 'INCREMENT BUFFER POINTERS
WEND

I get the error: Expected '['