I haven't had great experiences with telecommuting. I know for sure it's not for me; I need that clear separation between work time and home time or else I'm easily distracted and I tend not to get a lot done. The brief drive to the office puts me into work mode, and I'm much more productive. But of course that says more about my own personal discipline than about telecommuting in general. And I might feel differently if my commute were longer than twelve minutes.
We do have two developers at my small software company who work offsite. They've been doing so for years, and they seem to be able to stay productive. However, I much prefer working with the in-house developers. It's so easy to walk over to another desk and look at some code, or see how a form is working, and make those tweaks on the fly. With the offsite guys, we wait for the next build to see whatever they've done this time, suggest changes, and then wait for the build after that to see those changes, and so on. I simply don't find it as efficient to have developers scattered across the state as it is to have the team all in one room where we can brainstorm and bounce ideas off each other, face-to-face.
Yeah, there's Skype and other technology to help bridge the gap, but it still doesn't compare to getting up and walking over to someone's desk to talk to them.
NULL is not zero
NULL is not an empty string
NULL is the unknown