I understand that many people are idiots, and it is unfortunate that every business has to deal with a few of them who expect you to bend over backwards for them even when you aren't making a dime from them. There are days that this can get downright irritating and for those people "customers" I have no mercy. Even though the customer is always right, They aren't. I have run into unreasonable irritating downright stupid and annoying people having been in the service business for 40 yrs. And there are some people that you can't ever please and those who do it as a profession, just to see how much they can get away with. But for the majority of people are good, and when you take the time to explain why you have certain policy's in place, they will understand, if not then you treat them differently.
I have as have we all thrown people out of my establishments on more than one occasion, called the police on a few and even had a few fist fights in the 5 salons with 200 employees and the Gym business, "talk about jerks", you haven't lived until you try to explain why you can't throw 100 lb dumbbells across the floor into 10 ft. high mirrored walls to a bunch of juiced up 20 yr olds, who are screaming their heads off.
I would pull their membership if they did it again, chances are they have been thrown out of every other club already.
So I completely understand the frustration that goes into watching someone pick up a 2 thousand dollar gun, that you didn't sell them. But you have to think of the person as a potential customer, especially if they have that kind of cash to throw down on a gun in this economy. I would do that guys first one for free, just to seal some kind of relationship, only because I am greedy. If he or she buys a gun a month I would just say that is 300 or more a year in fees, and try to get their business even if I had to make less on the weapon. Every case is different. You don't have to like them to make money from them.