Multi-Deco and PastoDeco both give a stop based on GF Lo. Subsurface does not. And, I ran a dive simulation on my SeaBear H3 computer. It also does not give a stop based on the GF Lo.
As far as the open nature, I again note that this fine point is only relevant for the small window during a dive where GF Hi does not dictate a stop, but GF Lo does (or would, if used in that way).
When I have a few minutes, I want to re-read Baker's paper on GF and see if his original work actually specifies this detail regarding how the algorithm is to be implemented. I also have a friend who knows and trains with Mark Powell. I think I will get my friend to ask him about his thoughts on this as well.
I have been reading the subsurface code, as well as some 2013 mailing list posts about their GF implementation. i am not wildly confident that it is correct, although to be sure I will need to grab the sources and refactor the lines I question to something readable.
if ((surface / buehlmann_inertgas_b[ci] + buehlmann_inertgas_a[ci] - surface) * gf_high + surface <
(gf_low_pressure_this_dive / buehlmann_inertgas_b[ci] + buehlmann_inertgas_a[ci] - gf_low_pressure_this_dive) * gf_low + gf_low_pressure_this_dive)
tolerated = (-buehlmann_inertgas_a[ci] * buehlmann_inertgas_b[ci] * (gf_high * gf_low_pressure_this_dive - gf_low * surface) -
(1.0 - buehlmann_inertgas_b[ci]) * (gf_high - gf_low) * gf_low_pressure_this_dive * surface +
buehlmann_inertgas_b[ci] * (gf_low_pressure_this_dive - surface) * tissue_inertgas_saturation[ci]) /
(-buehlmann_inertgas_a[ci] * buehlmann_inertgas_b[ci] * (gf_high - gf_low) +
(1.0 - buehlmann_inertgas_b[ci]) * (gf_low * gf_low_pressure_this_dive - gf_high * surface) +
buehlmann_inertgas_b[ci] * (gf_low_pressure_this_dive - surface));
else
tolerated = ret_tolerance_limit_ambient_pressure;
They seem to try to track the lowest (deepest I guess) ceiling during the dive and use that in the calculation above, perhaps that is instead of the first stop depth as the GF low anchor.