Since CT told you the fabric is machine cut and no errors happen, they must be keeping track of their yardage (easily since it is done by machine). Why didn't they just check their invertory to see if they were over.
I would say this is poor customer service, even if they paid for postage, it is a hassel for the customer. In todays market, they should want to make all customers happy and coming back. How much do you think that yard of fabric cost them, not much I imagine.
I would write a letter, because that would make me feel better and maybe they would treat this situation differently next time.