Gracias a todos los que se tomaron el trabajo de leer mi post y en especial al GatoV aca les dejo como lo he resuelto por si alguno se encuentra en la misma situacion.
Utilizo el metodo array_multisort()
<?php
// Funcion Ordenar
function ordenar($marray, $Campo1, $Campo2){
foreach ($marray as $fila){
$C1[] = $fila[$Campo1];
$C2[] = $fila[$Campo2];
}
array_multisort($C1, SORT_REGULAR, SORT_ASC,
$C2, SORT_REGULAR, SORT_ASC,$marray);
return $marray;
}
// Fin Funcion
$Campo1='Nombre'
$Campo2= $_GET['Algo'] // Puede ser algo que viene por el GET
$_SESSION['Principal'] = ordenar($_SESSION['Principal'],$Campo1,$Campo2);
?>
Tambien se le puede pasar el sentido de ordenamiento como parametro solo hay que modificar la funcion un poco nada mas,otra cosa se puede ordenar por un solo campo, puse dos como ejemplo.
Nico