If this is what you're going for:

[STX][status][type][length][user data...][checksum][ETX]

then this may work for HSERIN without the macro's...

Code:
HSERIN [Wait [ $02 ] , status , type , length ]   'gets everything up to 'length'
HSERIN [ array\length , chksum ]  'gets 'length' characters, grabs the checksum
HSERIN [ Wait [ $03 ] ]   'waits for ETX, if this doesn't time out, then you got a valid array of data
For the HSEROUT,