I've almost completed writing the default orders code (and associated path finding). There are one or two new orders, such as "Move to System Requiring Geosurvey", which you can set as a secondary order for "Survey Next Five System Bodies" (for example) and you no longer have to worrying about moving Geosurvey ships between systems. There is an equivalent for gravitational surveys. All the path finding takes into account whether the fleet is jump capable, the presence of jump gates and any danger ratings for systems.
Which leads me to "Move to Gas Giant with Sorium" and "Move to Mineral Source" (the latter being mainly for NPRs and the former for civilians and NPRs, although they are open to the player). The issue is (in both VB6 and C#) that default orders cause an order to be created when the fleet has no existing orders. However, that means whenever the fleet reaches the target, the default is triggered again (and again, and again). It isn't visible to the player because it is all happening behind the scenes.
So, when those two default orders get completed I am going to unset the default orders. Instead, I will add a construction phase check for civilian and NPR harvesters and miners without default orders, so if they are not harvesting / mining anything, the order is re-instated.
The only downside is that players would have to reset the order manually (assuming it is even being used). I'm mentioning that here in case there is an issue I haven't considered.