Here is a code snippet of mine that sends a text message of two temperature measurements to my phone.
Serial.println("AT+CMGF=1");
delay(2000);
Serial.println("AT+CMGS=1XXXXXXXXXX,129");
delay(500);
Serial.print("High Temp = "); Serial.print(hightemp, DEC);
Serial.print(" Low Temp = "); Serial.print(lowtemp, DEC);
Serial.println(26,BYTE);
You do need to append either a "129" or "145" on the CMGS command to indicate national or international dialing. I am not sure what your "Serial.print(0x0D,BYTE)" is intended to do. The correct message terminator is a "control-z", which is represented by: "Serial.println(26,BYTE)." You do need the println format to send a carriage return/line feed.