Looks like the phone number is being sent as binary numbers rather than as ASCII characters. I had missed that earlier. I would try adding the '#' to make it the following -
hSerOut 0, ( "AT+CMGS=",$22,"+",#b4,#b5,#b6,#b7,#b8,#b9,#b10,#b11,#b12#,b13,$22,cr)