¿Y dices que no se ordenan los datos utilizando la función
arsort? Pues qué raro, porque hice la prueba y los ordena en forma descendente y manteniendo la asociación con los índices:
http://ideone.com/aIRAYq
Sin embargo, al momento de imprimir los datos en la tabla, recorres el array desde el primer índice, por lo que da igual el que lo ordenes. Mejor utiliza la función
rsort que es la que inicialmente te recomendé, romperá la asociación con los índices, pero ordenará los datos y los mostrará en el orden dado.