Entiendo que en la segunda pagina no te muestra ni paginacion ni registros.
Veo que la variable $targetpage es la que usas en las paginaciones. Creo que le falta el $tag.
Lo estas definiendo en la variable $page pero despues lo sobreescribes con el numero de pagina.
Cual es la URL que tienes en la pagina 2? porque en la pagina 1 tienes el tag, cosa que te falta en las siguientes paginas verdad?
Código PHP:
/* variables a utilizar para la consulta. */
$targetpage = "etiquetas.php"; //nombre del archivo
$limit = 1; //Cantidad limite de registros a mostrar por cada pagina
$page = "http://localhost/blog/php/etiquetas.php?tag='".$tag."'";
Creo que este es tu problema ... no he leído todo el código porque es enorme pero primero prueba cambiando el valor de targetpage con el valor de page.
Compara la URL de la primera pagina (que funciona Ok) con la de la segunda pagina - encuentra una diferencia ahí. Creo que por ahí van los tiros.