I really think everyone should work retail at least for a couple months in their lives. You gain a much better sense of what some of these people have to deal with on a daily basis.
Did they handle the situation as well as they could have? No, probably not.
However when it comes to large chains like Cabela's, Walmart, etc. you really cannot expect to be treated like you're shopping in ma and pop stores. These people aren't going to remember your name, your birthday. They're already probably helped 100+ people they've never met before that very day.
You're there shopping because they have the products and/or are usually cheaper and/or at much more of a convenience than driving around to multiple places or buying online and waiting days to get the product. These places have rules and policies that their associates must follow, and unfortunately, they have to enforce them with every customer, every time, or risk being labeled as discriminatory.