Попробуйте вот так: в функции createArrays() вместо tmp.length = 0
напишите tmp = []. А вообще думаю каждую строку ( и соответственно каждый столбец) лучше вносить в новый массив например для строк:

Код:
var rows:Array = [row1, row2,..., rowN]
,
где row1, row2,..., rowN массивы соответствующих строк. Аналогично для столбцов. Как бы создаете матрицу.
Про сортировку читайте в хелпе про Array.sort, Array.sortOn().