Piccolo sgamino:

ho un problema simile e per quanto mi riguarda mi va bene questo "arrangiamento"...

Invece di usare il metodo .AddItem uso il .Insert(index, "Testo da inserire"):

il testo da inserire credo sia chiaro cos'è, l'index è la posizione in cui lo vuoi inserire: lo 0 (zero) indica la prima, ovvero quella in alto...

Se usi sempre questo metodo con l'index = 0 piuttosto che le .AddItem ottini la stessa listbox solo che va dal basso verso l'alto piuttosto il contrario solito...

FF