I find it a little odd that that Nanoha asked Vivio if she was okay with it. I mean she's the parent, shouldn't she tell Vivio straight out that it IS okay?
Straight out saying that something 'IS', especially when that something is counter to how the majority views it (and when it isn't something that will definitely help them get along trough life), is poor parenting. One should always allow their children to figure out their views on their own. If you believe that the way that they may come to view the world is, reprehensible, then calmly attempt to argue against it, though you shouldn't outright say that they can't hold certain views. If they disagree with your worldview to such a wide degree, then instill into them the concept of agreeing to disagree (something that you will also need). So as to say: it really doesn't matter what views you, or anyone else, hold, so long as you always treat others with respect. Especially when this is based on their actions, rather than their ideas.
For instance (with relation to the current discussion): if you happen to be homosexual, and you meet someone, you become friends, and then find out that they believe that homosexuality is immoral, what do you do? According to my way of seeing it, if they know that you're gay, and they don't say anything about it, and they don't treat you any differently, then you should do the same. It doesn't matter whether they think that you're doing something wrong when you think that it's fine, so long as they don't act on it. At the same time, you should also be courteous to them and not flaunt how gay you are in front of them(at least, not intentionally). If they're going out of their way to ignore their ethical code in order to stay friends with you, so you should too.
Obviously, if that someone starts to give you a wide berth and tries to avoid you, then you should also probably cut off your ties with them and find other people to be friends with.
At least, that's how I tend to see things.