I realize I posted this a while ago but these images show the problem very clearly.
This first image shows Waze offering two good routes. Notice how the shorter route goes directly up Mound Rd and then routes onto a freeway. Mound Rd is listed as a Primary Street.
In this second image, I've moved the destination just about a mile further north on the same road. This time, it refuses to route directly up Mound Rd and instead routes across on a major side street over to Van Dyke Ave (even though this route is clearly longer and the only change to the destination is adding an extra mile north).
On the reverse route, it seems to capture it properly (going from the Rochester Area to the Warren Area). For whatever reason, the routing algorithm will continue to try and push me over onto Van Dyke until I get north of Metro Parkway (the east west road that it routes me over onto) and then the client will show the route directly up Mound Rd. When it recalculates, usually the time to my destination is at least 5 minutes faster than the previous route (over onto Van Dyke).
I wonder if there isn't a change in the routing algorithm based on the length of the route (somewhere around 20-25 miles). Any ideas?