Не беспокойтесь о сортировке, вам придется иметь дело с ключами.Просто сделайте то, что упомянул jjrdk, и используйте встроенную функциональность метода insert (rowIndex, rowObject) следующим образом:
'First create a new row
Dim tmpRow = New DataGridViewRow
'Dimension or do whatever
tmpRow.Height = _cellRectSize
'Add the row to your DataGridView(i.e dgvEditor) at index 0 for it to be at top
Me.dgvEditor.Rows.Insert(0, tmpRow)
Использовали этот точный код в нескольких проектах, и он прекрасно работает.Надеюсь, это поможет кому-то там!