I'll put a fine point on it, and it is this: This is America. WalMart is an American company. And they have an obligation to this country whether you can see past profit motive or not.
The only obligation a company has is to obey the laws and pay required taxes. Anything else is icing on the cake.
If you want wal-mart to change its ways, then lobby for different laws.