Excellent!
But no cigar yet , since there is one but..
Every now and then (read: often) when E220 goes to the "Jan 1 02:02:18 pppd[207]: In file /tmp/ppp/peers/gprs: unrecognized option '/dev/usb/tts/0'- state", pppd disappears and cannot be killed. It is not shown with ps and killall says: no process killed.
We would need to check somehow if the pppd can be killed or not, and if that is not possible then go to stronger action like reboot. E.g. greping the killall response could be the switch.