I attended a forum with a representative from the IDFPR regarding this topic. He mentioned the same concerns you expressed.
The main points I took from the discussion were to post the sign and treat each situation with the appropriate care and ease. My institution is based in Chicago so we have security officers who may enforce our policy. In a smaller, safer community you often do not have that. The teller has the right to turn down a transaction if you clearly state in your policy that no persons entering the premise with a concealed weapon may conduct banking business. That becomes a very gray issue (in my opinion). How do you know that's a gun in their pocket and not a banana? How does the teller approach that customer? To your point, customers are aggressive enough with respect to identification, what of weapons and the fear of your colleagues related to that.
My advice would be to us the state signs in the entrance window(s)/door(s) and at every other teller line. This way you are making it prominent you do not permit these weapons. Document instances when you know, beyond a reasonable doubt, that a customer enters the branch with a concealed item. Track those instances and send a letter to the customer regarding their behavior and a copy of your policy language. Use canned language to indicate you know and respect their rights however policy and private enterprise rights under state law require them to adhere to the standards or transactions will not be accepted. I think that could remove the onus from the teller and (potentially) prevent a heated discussion.
The flip side is allow persons to carry. If you live in a "safe" area perhaps creating a policy and implementing it will be more costly and won't increase branch security. I think prohibition is prudent in high risk areas but outside those it seems excessive to implement a policy that is very difficult and passive aggressive to enforce.
_________________________
Be stronger than your doubt, be braver than your fear, be bigger than your anger.
-Kino MacGregor