I did freelancing till 2010. And I will say its 100% your mistake. But I believe now you know how it works. Someone said its the Elance model problem and blah blah. When you assign the project to any developer, the payment, the model doesn't matter. You both agreed to money, deadline, product, etc. What you need to do is make real short milestones and precise task list. Which includes bug fixing, meeting schedules, and of-course delivery of source-code (I prefer a private Git repo with bitbucket or something similar) and hosting to app store. Both should exactly know what needed to be developed and on what date & time. It should go like this:
Milestone 1 ($50 / 2hours / 4th Nov 2013 - 10AM delivery):
- Git init
- splash screen
# Your task (1 hr) -> test - release $50 as a go ahead
Milestone 2 ($50 / 2hours / 4th Nov 2013 - 10AM delivery)
- Screen 1 - form submit
- Backend - process form
# Your task (1 hr) -> test - release $50 as a go ahead
.........
You should also include closing of project, giving reviews and source code details in the milestones.
You are not hiring an agency whom you know and who won't mess up (btw, even big agencies mess up). You are hiring a guy whom you have never seen/met. And you just paying $800 for an iPhone app! What you need to do is just tighten up the milestones! If he have good reviews - he definitely have the capability to do the job.
Its good to learn app development (also helps to check developer's source) - but there's nothing to be afraid of elance or freenalcer.com. You just need to use the right strategy. The app idea is already in your mind. Spend 2-3 days to plan the project management and make a list of tasks. Then you are all set!
And congratulations for your app!