Why is sorting a TListBox so fast & how to sort Descending fast?

I want to sort a TListBox in descending order as fast as it sorts in ascending order. I
have objects attached that may be 30Kb in size.

Even when I reverse the order of the list by swapping the items it is now as fast as the
internal sort.

Does it, for example, keep an index of the items in sorted order as they are inserted,
edited and deleted?

Raymond Kennington