Twitter and FB status messages I put in a different category, because it's difficult to have a proper conversation with them. It's pretty easy to have a proper conversation on IRC, though, at least if all parties are text-chat-fluent.
I've used them for technical phone interviews and they work well. Combine that with phone and skype and you can make things happen (of course it's hard to run code in this).
Perhaps a screen sharing / webex approach would work in the case where you really need to run code together.
I've set up a private server and it's really nice. First of all you can record voice conversations. Secondly it offers chat between users and between channels.
I find that voice communication is really effective, but having the ability to say "Hold on, let me send you this link!" is also crucial.
But what about this compromise: Skype voice conversation + skype text-chat for showing each other code snippets.
I've been using this combination for a few weeks now, working on a development project with a partner who is ~1000 miles away. Besides voice and text, Skype also has screen sharing. All three parts have become essential to how we work.
Written communication is naturally more challenging than face to face verbal communication. These "short" communication modes make things worse, opening up all sorts of possibilities for misinterpretation and miscommunication.
I felt so shackled by IM conversations, that I disabled GChat earlier this year. I've rediscovered the telephone and how superior it is when I really want to understand the other person. The only modes of only written communication I employ now are blog posts, forum posts, and emails. They all give me the opportunity to thoroughly review my words before setting them free.