I don't know what was causing the issue but I've found a workaround using table sort methods. The last line of the code above has been replaced with:
With wl.ListObjects("waiting_list").Sort
.SortFields.Add Key:=Range("A3", "A" & w_last_row), Order:=xlAscending
.Header = xlYes
.Apply
End With