Intenté seguir tu código pero me perdí.. no entiendo algunas cosas, pero si te sirve, te pego un trozo de un código que hice para una especie de helpdesk y que funciona correctamente:
   Código PHP:
        $maxPag=15;  // Definimos que habrá 15 registros por cada página
    if(!isset($_GET["page"])){  // Si no ha pulsado ninguna página...
        $_GET["page"]=1;      // ...simulamos que ha pulsado la primera
    }
    $pagTotal=$cont/$maxPag; // $cont es el número de registros que hay en la consulta, dividido por los registros por página del $maxPag obtenemos cuantas páginas necesitamos
    if ($pagTotal!=(int)$pagTotal){ // Si el $pagTotal nos ha quedado con decimales...
        $pagTotal=(int)$pagTotal+1; // ... lo redondeamos a la alza siempre
    }
    echo "< Pàgina ";
    $i=0;
    while(($pagTotal-$i)>0){  // metemos las páginas en un array $pag[] para trabajar más cómodos
        $pag[($pagTotal-$i)]=$pagTotal-$i;
        $i++;
    }
    $i=1;
    while(isset($pag[$i])){
        if($_GET["page"]==$pag[$i]){ // Si se trata de la página pulsada no tendrá link porque es la actual
            if(@$pag[($i+1)]>0)   // Si la página siguiente existe, pondrá la página seguido de un guión
                echo '<b>'.$pag[$i].'</b> - ';
            else   // Si la página siguiente no existe, es la última y por lo tanto sin guión
                echo '<b>'.$pag[$i].'</b>';
        }
        else if( isset($pag[($i+1)]) && $pag[($i+1)]>0 ){ // Cuando son las páginas distintas a la que hemos pulsado, tendrán un link hacia esa página. Además, si existe la siguiente página le escribirá un guión detrás del número de página
            echo '<a href="pagina.php?page='.$pag[$i].'" style="text-decoration:none;">'.$pag[$i].'</a> - ';
        }else{ // Igual que lo anterior pero sin el guión, puesto que es la última página
            echo '<a href="pagina.php?page='.$pag[$i].'" style="text-decoration:none;">'.$pag[$i].'</a>';
        }
        $i=$i+1;
    }
    echo ' >';
} 
    
  Resultado en mi caso: 
Si tuviéramos una consulta que devuelve 110 registros y tenemos puesto que son 15 por página, e imaginándonos que estamos en la página 3, se vería así: 
< Pàgina 1 - 2 - 
3 - 4 - 5 - 6 - 7 > 
La página 3 que está en negrita no tendría link, y el resto tendría un link hacia su página  
Espero que te sirva, saludos