robert, i agree with you...they should have paid for new glasses or fixed those if they were 'fixable'. at this point, you only have 2 choices, i think...
1. go get 'in their face'...as politely as you can, but...not 'far enough to go to jail'. i have a good friend who would not stand for this, and he doesn't care if he goes to jail, having been there before. the couple times i have gone to the grocery store with him, i have had to quietly walk away as he raised the roof over not getting a discount. he don't care....if he feels treated unfairly, everyone in shouting distance will know about it. that just isn't my style...i will protest, use legal means if they are available or simply never do business with someone again...and i will tell others if i think i have been treated wrong.
2. try your very best to forget the whole thing and not go back there, as you say. sometimes, this is the only alternative we have...but it's a effective one in many cases. screw me once, shame on you. twice, shame on me.
i am only 'hoorahing ya'. however, my offer to cut your hair still stands...

i don't see a difference in any of that...ruining clothes, such as spilling wine on a white shirt, same thing. an apology doesn't cut it. the situation goes to the concept of 'being made whole'. if in our society, someone can injure another with no consequence, our society is falling apart a little or a lot at a time. this clearly is an material injury, not just an insult or some other passing silliness.