I haven't looked at this for a long time, but this has been one of the most limiting aspects of the Zeep api. The problem stems from the fact that the STOP command does not have your Zeep code (SMS prefix) in it, so it will unsubsubscribe all codes that the user has subscribed to. I'll admit that this is most likely just one, but if not then he's just unsubscribed to all of the prefixes he was using. Do you even get an MO in this case? It would be nice if zeep would give us the phone number or our user id. It would probably be advisable to develop your own STOP command - ie to unsubscribe the user would send
<your SMS prefix> STOP
Then just set your internal db to ignore that user. The problem is that he's still going to get blast messages... I don't use those.
dlh