naomi - // //They simply should have turned him away without comment.//
They could have, lottie, but why should they? //
Because they are a service, and a business, not a personal morality crusade.
If they want to foist their unwanted prejudices on other people, don't run a bakery, where you are required to conform to the customer's request, and your own bigotry is neither required or requested.
// It just seems absolutely wrong to me to shut people up simply because they don't say what you want them to say. //
Again, it's not about 'shutting them up', it's about them having the common sense to realise that their business is making cakes, not providing unrequested moral judgement on strangers.
If you have a moral and religious stance that prevents you from providing aspects of service, then refuse the order, and when the urge to offer your own opinion on the lifestyle of the customer, be sensible enough to sit on it, and talk to your colleagues after the customer has left.
Don't take his money, think about it, get superior, and embarrass him in his work place, breaking the law as you do so.