Det är mycket enkelt. Sortera inte listan. Utan sortera recordsetet du hämtar informationen med och ladda om listview'n.
Sv: Sekundär SortOrder i en ListView?
Svara
Slipper man felaktig ordning när man sorterar tal oxå.
Från MSDN:
Sets or returns a String of comma-separated field names to sort on, where each name is a Field in the Recordset, and is optionally followed by a blank and the keyword ASC or DESC, which specifies the field sort order
Har gjort ett litet exempel:
Programarkivet:Sortera Listview på flera kolumner