The help has an example for the use of Non-Invoking Prompt Lists.

// This would be added to the prompt list's panel object.
Function GetSelectedName String sSeed String ByRef sName Returns Boolean
    Boolean bCancel
    String[] SelectionValues
    Send OnStoreDefaults of oSelList
    Set peUpdateMode of oSelList to umPromptNonInvoking
    Set piUpdateColumn of oSelList to 1
    Set psSeedValue of oSelList to sSeed

    Send Popup
    Send OnRestoreDefaults of oSelList
    Get pbCanceled of oSelList to bCancel
    If not bCancel Begin
        Get SelectedColumnValues of oSelList 1 to SelectionValues
        If (SizeOfArray(SelectionValues)) Begin
            Move SelectionValues[0] to sName
            Function_Return True
    Function_Return False End_Function
I am going off the assumption that "Set psSeedValue of oSelList to sSeed" does the same with one record. Hence the same code placement.

But you may be right and that this is simply executed too early, before data is completely loaded.
After reading through the help articles a little, it seems like the intention of SetIndexesForSelectedRows, SetSelectedRow and SetSelectedRowsAllis to use a button to select All, or select all rows of a particular flavor.

What would be a procedure that I could augment to execute this after the selection list completed loading?