I don't think anyone is labeling the gun shop owner a bad guy. Only facts of the law have been presented. Yes, he had the right to issue a stop payment. He has that right even if he had not recieved the return item. However, as always reminded, the stop payment does not relieve the underlying obligation to honor the item issued. He basically used the stop payment to effect a right of offset he probably did not have a legal right to do. Although, I'm sure many people would have been tempted to do the same thing, there is no legal basis to do so.
In return, he still has a claim on the check the customer originally issued to pay for the gun in the first place. Seems to me the customer who purchased the gun wouldn't be making the brightest move to sue the gun shop owner. And, IMO, the Credit Union made the decision to accept such a risk when they decided to give immediate credit on the item.
Has your customer, the gun shop owner, tried sending the item for collection?
An error is not a mistake until you refuse to correct it