|Perl: the Markov chain saw|
I'd have to say this was a rather interesting (and long) ;-) post. I doubt there is a single perfect solution, but this is my take on the subject:
Due to the lack of types of communication when dealing with online communication (no body language, voice changes, etc.), it can be a great challenge for both the sender to "send" a clear message and for the receiver to "receive" that same message. I often take for granted the information that I actully receive from someone while I'm talking with them face-to-face until I'm trying to relay my message to someone online.
The biggest enemy to clear communication is anger or frustration.
If you can't keep a clear head, you can't communicate online (heck, I've had cases where I can't communicate clearly with someone face-to-face if I'm angry or upset). Sometimes, just taking a deep breath and trying to make myself relax is enough to clear my head and go on with the conversation. But, if that's not enough, it's time for the conversation to end. Period.
One wonderful thing about collaborating online is that there are lots of ways to do it. If I were to get upset with someone, I'd kindly (and hopefully privately) let them know that I was upset and, later, I'd send them an e-mail. In an e-mail, you can take all the time you want to explain your point and try to make it as detailed as possible so that your message is clear. It's often difficult to do that while "chatting" online. The other benefit is the "cool-down" period. The sender (and receiver) get a chance to get away and clear their heads and can then come back to the topic later with an open mind.
That would be my approach to such a situation, but I'm sure there are countless others. The key is: Once you get angry, just walk away - you're not going to do any good after that, anyway.