Q: When should you openly disagree with someone who makes a statement concerning morality when you disagree with it?
A: Always
To quote Ms. Rand:
“Nothing can corrupt and disintegrate a culture or a man’s character as thoroughly as does the precept of moral agnosticism, the idea that one must never pass moral judgment on others, that one must be morally tolerant of anything, that the good consists of never distinguishing good from evil.”
Do it. Every time the situation occurs.
Having said that, two things should be kept in mind:
#1 Remember the context of your disagreement. If you don’t like biker gangs, it’s not the best idea to walk into a hangout bar, climb a table, and yell “Bikers are assholes!”. Your level of disagreement may be as mild as a quietly uttered “I disagree”, or as strong as daily campaigning for a moral cause. The degree of disagreement is not of paramount importance, as long as the disagreement is openly stated.
#2 Remember that pronouncing such judgments requires that you yourself maintain a proper moral life. You may be wrong (and you will be sometimes), but you must be honest enough with yourself to be rationally certain.
(Note: I am not an objectivist. I agree with a good deal that Ayn Rand said and wrote, but I vehemently disagree on many of the real-world applications of her philosophy that she and many of her followers have espoused.)