tengo varias dudas respecto a la logica que usas...
1.- $control = $registro[0]; eso que hace?
2.- if ($registro[0] != $control)
{
$control = $registro[0];
titulos($registro);
} si ya tienes el punto 1... para qué lo pones??? no veo donde lo estés cambiando :S
para que la ordenación sea efectuada correctamente, debes realizarla antes de que hagas el for... para que cuando hagas la impresión esta ya vaya realizada...
aca te dejo el algoritmo de un método de ordenación...