Ob das vom Zeitbedarf noch sinnvoll wird oder die Listbox da zu langsam wird?!
Das ist das geringste Problem.
Ich habe früher (r), als es noch keine Listviews gab, (in C++) so etwas häufig gemacht und dabei sogar die (über der Listbox plazierten) Label richtig hingeschoben.
Wahrscheinlich suchst Du eher nach einer Möglichkeit, die "eklige Rechnung" nicht durchzuführen. Aber - wenn Du denn die Anforderungen erfüllen willst - da wirst Du nicht drumherum kommen.
Geht es jeweils nur um eine Zeile oder können sich die "Tabstops" für die ganze Listbox durch einen besonders langen Textteil verschieben?