My very simple working code:

Code:
OSCCON=%01110000            ' SET TO 8 MHZ internal oscillator
DEFINE OSC 08               ' 8MHZ clock speed 
DEFINE HSER_BAUD  9600      ' Set baud rate
DEFINE HSER_RCSTA 90h
DEFINE HSER_CLROERR 1       ' Clear overrun error upon
DEFINE HSER_TXSTA 24h       ' Set transmit status and control register
DEFINE HSER_SPBRG 51        ' 9600 Bauds

RPM      var word
SPEED    var word
TPS      var byte
volts    var byte
adc1     var word
adc2     var word
prefix1  var byte    
prefix2  var byte
prefix3  var byte
prefix4  var byte

rpm     = 3800
speed   = 60
tps     = 10
volts   = 122
ADC1    = 512
ADC2    = 200
Prefix1 = 22  
Prefix2 = 0
Prefix3 = 0
Prefix4 = 0

main:
  pause 500
  hserout [Prefix1,Prefix2,Prefix3,Prefix4,dec5 rpm, dec3 speed, dec3 TPS, dec3 volts, dec4 adc1, dec4 adc2] 
goto main  

end
Code:
Sub Process_Globals
	Dim AStream As AsyncStreams	
	Dim Incoming As String
	Dim RPM As Int 
	Dim SPEED As Int 
	Dim TPS	As Double 
	Dim VOLTS As Int 
	Dim ADC1 As Int
	Dim ADC2 As Int 
End Sub

Sub Activity_Create(FirstTime As Boolean)
	Activity.LoadLayout("2")
	  If AStream.IsInitialized = False Then	
		AStream.InitializePrefix(Main.Serial1.InputStream, False, Main.Serial1.OutputStream, "AStream") 
	  End If
	Update_Display 
End Sub

Sub AStream_NewData (Buffer() As Byte)
	Log( BytesToString(Buffer, 0, Buffer.Length, "ISO8859_1"))
	Incoming = BytesToString(Buffer, 0, Buffer.Length, "ISO8859_1")
	
	RPM   = (Incoming.SubString2(0,5))
	SPEED = (Incoming.SubString2(5,8))
	TPS   = (Incoming.SubString2(8,11))
	VOLTS = (Incoming.SubString2(11,14))	
	ADC1  = (Incoming.SubString2(14,18))
	ADC2  = (Incoming.SubString2(18,22))

	Update_Display 
End Sub