I'm pretty sure the raw data stream that contains the caller ID will not have the "+" sign in it, ... provided you are receiving the call on a US or Canada line/number, and the call is coming from the US or Canada (based on Bell landline/CO standards). Maybe you have some setting related to this? Calls from international locations can vary a lot as to having a + sign, and the formatting, even receiving calls from the same international number can vary. For example you might see 011+44+00115-00254 or 44+00115-00254 or 1+44 00115 00254.
I also remember the maximum number of characters is 18, per some standard from long ago. Not sure this helps.