I was not "flying it via USB". My iphone connects via wifi to the controller, and the controller connects via PTP (as all the other proper DJI control connections) on 2.4 or 5.8Ghz. Without the cheapo reflectors, I can usually fly 3-400 meters out.
There are two reasons the Spark is not well suited for mapping - the first is as you mentioned before, that the DJI SDK doesnt support waypoint missions. Secondly - the geotagging of the images are missing decimal seconds, which means a geotag-dependent solution like Dronedeploy is going to struggle.
I hope DJI eventually supports waypoint missions, and that DD reconsiders supporting the Spark. Other mapping app vendors have already brought out support for the Spark, but not with regular mapping features.
I know quite a few people who can make use of Spark for small projects and mapping in areas where a larger drone can't be used.