Thanks for the suggestion.
You're right: once a ListBox column has been sorted there's currently no way to remove the sort direction. SortedColumnIndex and SortAscending are read-only, and clicking a header only toggles between ascending and descending. The only thing that clears the indicator today is manually drag-reordering a row, which isn't a practical way to unsort.
I've logged this as a feature request: https://feedback.objo.dev/feature/1547
The plan is to add a SortDirection property with None, Ascending and Descending values, plus a ClearSort() method that removes the indicator while leaving the rows in their current order, so it will behave the way you describe. I'm also considering an option that makes clicking the active column's header cycle ascending → descending → no sort, rather than always toggling between the two.
This will apply to both desktop and web ListBox controls.