MKR GPS Shield library only works if you call GPS.Available() non-stop

Correct! I use Ultimate GPS and tinygps+. I do not need to send a thingy to the GPS module blah, blah, blah. Would that mean your GPS module is at fault that it is not doing the thing unless told to do so and not the fault of the library? Unlike other GPS modules that do the thing, automatically, and I just read the info when it's available.