Also I had some more success thinking about how to adapt examples from Swarat and pals's "Continuity Analysis of Functions" paper. The tough thing is that I don't know how to do Dijkstra's algorithm itself, because I can't yet figure out any way of, er, controlling control-flow in a benign (i.e. Lipschitz-continuous) way the way the paper does as basically one of its centerpiece ideas.
But I can write a function that inefficiently computes extensionally the same function as Dijkstra (and inefficient computations of minimum spanning tree, and knapsack...) and at least then the linearity really comes into play in a nontrivial way. The reason that the length of the minimum path is 1-continuous in your edge weights is that a path isn't allowed (or, er, I guess, more to the point, doesn't have to) reuse edges.
And I can write a function with linear types that very naturally exhibits why it doesn't reuse edges, even though it does sling them around nontrivially. It's kind of cool!