I believe in respecting my elders, however is this situation I would have pulled my grandmother aside at the very first comment she made. I would have told her apologize and to change the subject and that if she continued WE would be leaving. Your boyfriend is a guest and should be treated with respect. I know family is important but there are lines you just dont cross. I can't believe you let the insults continue to the point he was crying. It's your family and you needed to have controlled the situation.