Por allí va la cosa, pero para mantener el valor del ORDENAR, tendrás que pasarlo en tu funcion paginar. Algo así sería:
  Código PHP:
    echo paginar($pag, $total, $tampag, $ordenar,"listar_socios.php"); 
    
  Y luego en la funcion:  
 Código PHP:
     
function paginar($actual, $total, $por_pagina, $ordenar, $enlace) {
  $total_paginas = ceil($total/$por_pagina);
  $anterior = $actual - 1;
  $posterior = $actual + 1;
  if ($actual>1)
    $texto = "<a href=\"[COLOR="SandyBrown"]$enlace?pag=$anterior&ordenar=$ordenar[/COLOR]\">«</a> ";
  else
    $texto = "<b>«</b> ";
  for ($i=1; $i<$actual; $i++)
    $texto .= "<a href=\"[COLOR="SandyBrown"]$enlace?pag=$i&ordenar=$ordenar[/COLOR]\">$i</a> ";
  $texto .= "<b>$actual</b> ";
  for ($i=$actual+1; $i<=$total_paginas; $i++)
    $texto .= "<a href=\"[COLOR="SandyBrown"]$enlace?pag=$i&ordenar=$ordenar[/COLOR]\">$i</a> ";
  if ($actual<$total_paginas)
    $texto .= "<a href=\"[COLOR="SandyBrown"]$enlace?pag=$posterior&ordenar=$ordenar[/COLOR]\">»</a>";
  else
    $texto .= "<b>»</b>";
  return $texto;
} 
    
  Fijate en los enlaces, que es donde están los cambios. La idea es esa, claro que lo ideal es que modifiques la función para que sea general y sirva para cualquier caso (no solo paginar y ordenar)