I have previously heard that if you take check to the issuer's bank; they are required by law to cash the check for the full amount.
Recently I got a check from business but when I took it to their bank "Bank of America" I was told that there will be fee. After not getting anywhere with the teller I asked to talked to manager who ended up telling me that they have to charge fee on checks cashed from business accounts but if it was personal check there would be no fees.
That made no sense to me, but what makes even less sense is the fact that if you show up in person to the bank they charge you a fee, but if I deposit it at my bank there is no fee charged by issuers bank.