Well, junk on the line really shouldn't happen except during, say, powerup. I catch that exception (and others) in my recovery logic, which causes the whole process of initializing the modem, establishing connection, etc. Coincidentally I am also using a gsm modem, though not for sms, and it worked fine. there arent any normal cases where strange characters are transmitted for text purposes, although this can easily happen when you're transporting binary (which you probably shouldn't convert to text anyway).
If you're getting it every time a call comes in, then you probably need to look further into it, since that should not cause 'junk on the line'. Personally I would start by:
* dumping the binary in your buffer 'bytes' as you have received it (before conversion). this way you can inspect whats going into the conversion process
* you probably have, but sanity check your port settings. if you're getting anything meaning at all, but then failing once in a blue moon, your settings are probably fine.
* when I was doing my gsm modem, I found it invaluable to use one of those USB-2-serial FTDI adapaters, and 'tap' the connection between the modem and the netduino with a session in putty (or any other serial program on your desktop). this took a lot of guesswork out. if you do tap it, just do the rx side of the adapter; tx would cause contention.
if all that checks out then tell me which gsm shield you are using, and which modem response is causing the woes.