This is what I've worked out over several days of head scratching when Refresh Object and Popovers worked perfectly at times and failed in other situations.
In WD both Refresh Object script step works and Popovers open up when there are a small number of records. Not sure of the cutoff, but all is fine with 20 to 30 records. When there are over n records, say 100 records, Refresh Object fails and Popovers don't pop.
The solution that worked for me was to create a 'record_number' field in the list view table. The start of the script finds all records, sorts by last name, and inserts a serial number. Then set a couple of global fields 'begin_search' and 'end_search' and set them to 1 and 20. (for example). Do the search from 'begin search' to 'end search' to display the first 20 records. Popovers open and Refresh Object works perfectly.
Then add 20 to 'begin search' and 'end search' which is triggered by a > to go the next 20 records. Or < to go back.
If you do a search and change the found set, first find all records and clear out the 'record number' field, insert "" into the 'record number' field, then serialize.
This script which clears out the record number and re-serializes works on 1,000 records in WD in about 1/2 a second, about the time of a screen refresh. (by the way, if you trigger this in FM Pro accessing the file on the server the two insert steps take 15 seconds each)