It can work out ok - it depends on how well you manage the project.
Build in extra time - a lot of it. Not so much for billing, but for delivery. Managing an outsourced asset slows everything down.
Communication is key - make sure you get someone who will be available when you want them available. Make sure they will give you the reports you want, complete and on time.
Set expectations with the programmer early, and hold him to them, Don't let him slip for a moment.
When an outsourced project starts to fail halfway through, or later, it's a total nightmare. I had to learn Visual Basic and finish a major project myself because an outsourced programmer went AWOL two weeks before deadline. heh - the poor girl was on a college VISA and got deported back to India..
At least I learned a bit about Visual Basic
