Eso es un error mio...
Usualmente para recorrer un array, se usa el total de registros MENOS UNO, ya que los arrays "automaticos" comienzan desde cero, pero yo he comenzado desde uno, y por eso te falta una página...
cambia esto:
for ($i=1;$i<count($imagenes);$i++) {
echo "<a href='?pag=".$i."'>".$i."</a> |";
}
Por esto...
for ($i=1;$i<=count($imagenes);$i++) {
echo "<a href='?pag=".$i."'>".$i."</a> |";
}