They have no right to withhold monies, even if they complained within a reasonable period (which they have not) they have to pay the invoice and go through legal proceedings to claim money back or negotiate directly with the supplier, which if they were a fair customer usually works.
You have taken the first step by writting, call them every day don't worry about doing this it is your money, - I had one client who used to shout down the phone - you desperate or something! got paid a month before he went bust! - but be polite. Get a second letter out saying that you are giving 7 days before court proceedings. If this doesn't work actually fill in a court form and send them a copy saying if you recieve payment within 48 hours you will cancel the proceeding, this makes them think you have submitted and they usually pay, it is not misleading as you haven't actually said you have submitted just that you will cancel sending it through. Last resort actually carry through county court, if you can prove you did the work to a satisfactory level you will win. If you get to this stage I will give you some advice on what evidence you may need.
I am sure you have the right paperwork in place stating that some staining may be permenant etc and that if a complaint isn't made within 24hrs then the work is deemed satisfactory but maybe you need to review this to ensure it is clear.
Hope this helps
Fox