Well, looking at the gpx files gives a big clue. The Street Atlas GPX file has a header that identifies the file, the program that made the file, and then several of these:
<extensions>
<delorme:routeType>points</delorme:routeType>
</extensions>
<rtept lat="30.686187744" lon="-88.053359985">
<name>Mobile</name>
<cmt>Mobile</cmt>
<desc>Mobile</desc>
<extensions>
<delorme:routePointType>start</delorme:routePointType>
</extensions>
</rtept>
That's a via point in the route. Notice it's called a route point, not a waypoint. All the file does is list those, one after the other. Basically, "Start here. Go here. Go here. Go here. Finish here." It
has to be calculated, either in the device or in Mapsource. That's why it goes into Mapsource as straight lines, There is no route information other than these points along the route.
The Mapsource GPX lists the waypoints like this, one after the other,:
<wpt lat="30.4812072" lon="-90.4895107">
<time>2010-04-26T23:36:08Z</time>
<name>I12 to I55</name>
<cmt>38b</cmt>
<desc>38b</desc>
<sym>Waypoint</sym>
<extensions>
<gpxx:WaypointExtension xmlns:gpxx="
https://www.garmin.com/xmlschemas/GpxExtensions/v3">
<gpxx
isplayMode>SymbolAndName</gpxx
isplayMode>
</gpxx:WaypointExtension>
</extensions>
</wpt>
But also lists Route points:
<rtept lat="30.2233640" lon="-85.6788559">
<time>2010-04-26T23:34:24Z</time>
<name>Start</name>
<cmt>Milano Rd</cmt>
<desc>Milano Rd</desc>
<sym>Waypoint</sym>
<extensions>
<gpxx:RoutePointExtension xmlns:gpxx="
https://www.garmin.com/xmlschemas/GpxExtensions/v3">
<gpxx:Subclass>000000000000FFFFFFFFFFFFFFFFFFFFFFFF</gpxx:Subclass>
<gpxx:rpt lat="30.2233640" lon="-85.6788559">
<gpxx:Subclass>06009A304C0082170A002116000099007500</gpxx:Subclass>
</gpxx:rpt>
<gpxx:rpt lat="30.2208567" lon="-85.6788969">
<gpxx:Subclass>06009A304C007D570D011F060C005F063C02</gpxx:Subclass>
</gpxx:rpt>
<gpxx:rpt lat="30.2208996" lon="-85.6780815"/>
<gpxx:rpt lat="30.2208996" lon="-85.6772661"/>
<gpxx:rpt lat="30.2209425" lon="-85.6762362"/>
<gpxx:rpt lat="30.2209425" lon="-85.6751633"/>
<gpxx:rpt lat="30.2209425" lon="-85.6741333"/>
<gpxx:rpt lat="30.2209425" lon="-85.6730604"/>
<gpxx:rpt lat="30.2209425" lon="-85.6722450"/>
<gpxx:rpt lat="30.2209425" lon="-85.6722450"/>
<gpxx:rpt lat="30.2209425" lon="-85.6714296"/>
<gpxx:rpt lat="30.2209425" lon="-85.6706142"/>
<gpxx:rpt lat="30.2209425" lon="-85.6695843"/>
<gpxx:rpt lat="30.2209854" lon="-85.6683397"/>
<gpxx:rpt lat="30.2209425" lon="-85.6674814"/>
<gpxx:rpt lat="30.2207708" lon="-85.6668377"/>
<gpxx:rpt lat="30.2205992" lon="-85.6663227"/>
<gpxx:rpt lat="30.2203417" lon="-85.6658506"/>
.
.
.
.
.
<gpxx:rpt lat="30.4791212" lon="-90.4607821"/>
<gpxx:rpt lat="30.4791212" lon="-90.4638290"/>
<gpxx:rpt lat="30.4791212" lon="-90.4638290"/>
<gpxx:rpt lat="30.4791212" lon="-90.4821110"/>
<gpxx:rpt lat="30.4791212" lon="-90.4821110"/>
<gpxx:rpt lat="30.4791212" lon="-90.4842997"/>
<gpxx:rpt lat="30.4791212" lon="-90.4856730">
<gpxx:Subclass>0900A7304C00B0DC00001F8A13007914B700</gpxx:Subclass>
</gpxx:rpt>
<gpxx:rpt lat="30.4793787" lon="-90.4864454"/>
<gpxx:rpt lat="30.4795933" lon="-90.4868746"/>
<gpxx:rpt lat="30.4812072" lon="-90.4895106">
<gpxx:Subclass>0900A7304C00B0DC000021170000B7000000</gpxx:Subclass>
</gpxx:rpt>
</gpxx:RoutePointExtension>
</extensions>
</rtept>
The . . . lines are a snip of several pages of text. That goes on for about 220 printed pages for this particular route. (I have no clue what the Subclass clodes mean.) Mapsource lays out the exact route, by coordinates, not just go here, then here, then here. A Garmin GPS, some of them, anyway, can accept that route without having to calculate it. It's already calculated and mapped. However, those devices that only accept waypoints will ignore most of that GPX file and calculate from the waypoints found in it, basically taking the
wpt sections and ignoring the
rtept sections. Any device that has to recalculate the route for whatever reason will rely on the route points and ignore the paths, creating new ones in the recalc.
Now to the previous post's question about utilities building a route rather than a sequence of route points. The utility does not have access to the maps. It can't lay down the route. Simple as that. It converts this program's format of points to that program's format of points.