The question was is there a law that any business, or anyone else has to accept cash. The answer is an emphatic NO THEY DO NOT ! The actual LAW is in the quote above.
I took a cut up bill to the bank last week. I would guess that about 70-75% of the bill was there. The reply was "Sorry, we can't take that". Something about part of the portrait being missing.
So apply for a credit card. Why not. One guy I work with, as a joke, applied for a credit card that requires a photo for identification. He sent it in with a photo of his dog. It was accepted. So just apply for credit card and you can build up credit for the future. As to the legality of accepting any monitary item. There is Wonder Bread Store near here and they have signs up saying no checks, no currency over $20. I asked about that once and was told that by law such a sign must be posted or they would have to accept the currency but not necessarily a check. An auto repair place neam me has a similar sign but his says currency not over a $50. He said he was told the same by his attorney that it must be posted in plain view. I highly doubt any bank would refuse any legal coinage with this coin collecting craze going on. At one bank here they told me there is an actual waiting list for any of the larger size dollar coins. Same with any odd or funny looking stuff like 2 cent o 3 cents pieces. One thing to remember is that on top of Federal Laws there are numerous State, County, City, etc. laws that may dictate the usage of our monitary system. Appears we should all go to law school in order to buy something.