I also maintain that one user getting frustrated with a conversation on a perfectly reasonable topic isn't reason for that conversation to stop, it's a reason for that user to remove themselves from the conversation so they can calm down.
And suggesting users remove themselves from a conversation if they're getting frustrated is a thing I've done in the past, and is something I'll continue to do in the future. In fact the only reason I didn't bring it up sooner in that conversation is because twobugs already said he was going to leave, so it seemed unneeded, but instead he decided to stick around.
Now, in a situation where the case is just of me disagreeing with another user....well, I just discuss the issue with them. I make sure to express my stance as best I can. I listen to the other user, and try to get an understanding of what their stance is, and why. I ask myself "Is there any merit to what they have to say?", and respond accordingly (i.e. That wouldn't work because X or Yeah, I see how that might work, but problems Y and Z are huge issues we'd need to resolve).
Sometimes I'll even have my stance changed, like in that case of the starcraft 2 question I linked in my post. OTher times I may find that although I disagree with a users stance for the most part, their stance may have some ideas I didn't consider, and I think are good. So even if I think the stance as a whole is poor, I may want to incorporate the good ideas of their stance into my own, to form a new stance.
Really folks disagreeing isn't a bad thing, it's a good thing. It's how we arrive at the right decisions. Folks rarely are able to know the perfect solution right out of the gate, it usually takes multiple folks putting their heads together and hashing out. That's why SE is community run, after all, because it takes multiple folks putting their heads together discussing site policy to arrive at the right decision.
Now sure, some argument can become heated,and we've all been there, but that's just a case of folks needing to step back from the conversation for a bit. Which is something I've suggested in the past, and is a pretty standard thing people suggest when it happens, really. And when folks aren't willing to step back, that's when mod really get involved and start freezing rooms, and maybe even handing out suspensions. but the issue isn't that "users disgree", it's that...
...some or all of the users involved are breaking that "be nice policy", and are getting rude and hostile. And, really, the proper response to a mod as that is really just a matter of how many folks are getting upset. If it's just one or two users in the conversation who are going past that "be nice" point, or are getting super frustrated, then it's just those users you need to deal with. You don't need, nor should, shut down the whole conversation.
It's when most of the folks in the conversation, or most of the folks in the chat, are getting frustrated or breaking "your nice" that you need to start freezing rooms and shutting down conversations.
but the tl;dr is users disagreeing isn't a problem, but folks getting frustrated or breaking nice is. As a mod, if it's only one or two users getting frustrated or breaking nice I'd just suggest they leave the conversation. If they continue, and are well into breaking be nice, I'd either kick them from the room or give them chat suspension.
If most of the folks (or most of the room) is getting frustrated and upset then I'd ask everyone to just move on to a new line of conversation, and if folks continue to argue, and are just growing increasingly frustrate and breaking "be nice" I'd free…
And, if I was one of the folks involved in the conversation, and I was mod, I'd probably hit up another mod in one of their private mod chatrooms to step in, since it might not be right for me to start doing room freezing and suspensions if I'm involved in the conversation.