Вы можете просто использовать встроенную функциональность ListBox.Sorted
foreach (object o in listBox4.Items)
{
listBox5.Items.Add(o);
}
listBox5.Sorted = true;
Настройка ListBox5.Sorted = true гарантирует, что элементы в списке будут отсортированы и все последующие элементы, добавленные в список, будут добавлены в правильном порядке.
Конечно, это предполагает, что у вас есть простые требования сортировки, как показано в вашем примере.