Is it legal for a bank to place a hold on a check which has already cleared the merchant's bank and not allow customer to access funds when there are no pending or outstanding transactions or any other holds on the account?
Yes. Banks can place holds for other reasons as well - if they suspect the cheque has been altered, or to ensure the drawor of the cheque hasn't stopped payment on it, for example.