The issue I think is the cost to build redundant systems. We found that many times, external factors like weather and malfunctions were responsible for the vast majority of our critical failures.
If for example, some cloud cover shifts and we lose connection with our copter for just a few seconds, a lot can happen. Even though we built redundancies into our software (if no connection, hold position), those few seconds of lost control could cause some catastrophic problems. I think this is really the biggest issue surrounding drone flight; it's not the question of "Can we build autonomous drones?", and more of "Can we constantly guarantee control over our drones?"