You handled it the best you could. At Wal-Mart, however, the probability of him being fired is nearly zero. The protocol within Wal-Mart is to avoid anything that could bring about a union vote first and do what is good for the customer second. Getting fired from a Wal-Mart is nearly impossible. Ironically, it's somewhat like getting fired from a government job. One is to avoid a union and the other is because of one.
This is really funny. I don't remember any walmart in the state under union control. I spent 3 years with the company in the late 90's. Not a great place, but not a horrible place either. I was making $6.50/hr when the minimum wage was $4.75, going up to $5.15 IIRC in rural Indiana where NO ONE paid more than minimum wage to 18 year olds.
But then again, I don't wear tailored suits, I don't drive "brand name" cars and don't care where I get the best deal.