The root of the problem is described here: SelectionChanged unreliable with long double click intervals
The macOS mouse double-click speed affects how clicking from row to row is read by Xojo.
Adding this to the listbox CellPressed event forces the SelectedRowIndex to update correctly.
Function CellPressed(row As Integer, column As Integer, x As Integer, y As Integer) Handles CellPressed as Boolean
MyListBox.SelectedRowIndex=row
End Function