Have you played with this value?
A common use case is loading up your route, then riding to the start of the route, then riding the route. You can pick Navigate To the Start, or Not.
If you pick Navigate to the Start (the best option it turns out), then (on the EDGE 1030 at least).... Garmin builds a transient Route for you to get to the Start.
The Distance to Destination is initially the distance to the Start, and the changes once you get there, to the distance of YOUR Route.
NOTE: if you select: Don't Navigate To the Start, then Distance to Destination is a meaningless value that fluctuates up and down until you get to the start. It is not a straight line distance. In my tests, it went to zero and then actually started to increase as I got closer to the start. But once you get to the Start, it jumps to your Route's distance and works fine.
There isn't any way for a CIQ App to know if the value in Distance to Destination is the athlete's Route's distance or the transient Garmin Route to the Start.
So I think what I need to do is monitor the value for large positive jump and if I see that, I know that Garmin has transitioned to the User's Route. And then use that new distance for my logic that works on the intended ride distance (adding the current actual distance to the updated Distance to the Destination).
Note: Once the route is completed, Distance to Destination is set to NULL.
Make sense?