Hi guys,
I may be off base here, but in my world the Carriage Return <0x0d> is the SEGMENT terminator. The MESSAGE is terminated with a Linefeed <0x0a>. Then you have the <0x1c><0x0d> to wrap up the envelope. I would have expected your data sample to end with <0x0d><0x0a><0x1c><0x0d>. Am I missing something?
Cheers.