Sometimes the join just needs to be refreshed. You can try setting the global field to itself prior to summoning the value list, or do a Refresh Window with the "Flush cached join results" option selected.
Thanks Mike - I'm trying to stay away from "Flush cached join results", so will try your first suggestion first, setting the field to itself. Probably in an OnLayoutEnter script?
Which trigger you use will depend on the workflow. I might just use an OnObjectEnter trigger when they click in the field that uses the value list, depending. You might lose the cached results after a user has sat on a record for a while.
But OnLayoutEnter might work just fine. Have to play with it.