It is probably because main_gui.cpp line 200 (calling ScrollWindowTo) is beforemain_gui.cpp line 202 (calling DoZoomInOutWindow). ScrollWindowTo calls RebuildViewportOverlay to recalculate whether stations and edges are within the visible viewport, but that is done before actually zooming out the window. So the zoom value used by the link graph recalculation is the old value.
Previously, when the user zooms in or out, the linkgraph overlay was recalculated before the zoom. This caused some stations and edges to be missing from the visible region of the viewport.
Also used LINKGRAPH_DELAY when zooming, for consistency with scrolling and resizing.