I guess the point here to consider is simply the fact that this person lost the character development he has been building, and practically put on a freeze for 3 months (provided that the SHAFT violation isn't dropped) based on a tiny bit of technicality. The only real complaint I could make here is the lack of care and sympathy on officer's behalf from an OOC perspective. When you approach it with an utilitarian approach, there's nothing the officer (or the community overall) gained from this except another quick "zinger", as I like to call it. The same point could have been made with a slap on the wrist and a warning and it could have been built into something better, rather than the destructive outcome this interaction had. There's Officer's discretion on purpose.
I can't find myself agreeing with this on this instance because when you think about it, his intention wasn't ever to hide that he has a gun. He simply didn't know when to tell. I would reach out to claim that this is obvious to most that reads this. If he had taken any action to escalate this further rather than trying in his best to cooperate, your point would have made complete sense. And intention matters, a lot.
From an ideal point of view I will agree that there's no point in claiming what's realistic on how a person would react but it's in my firm belief that, we as players should contemplate the OOC consequences of our actions to a certain degree and display some empathy in sacrifice of realism to produce a fun environment for everyone.