El problema lo tienes en el for, donde sumas dos veces. Creo que se solucionaría así:
Código PHP:
for ($i = 0; $i <= $pages; $i++) {
if ($i == $pg) {
if ($i == "0") {
echo ("<b> 1 </b>");
}
else {
$i = $i+1;
echo ("<b> ".$i." </b>");
$i = $i-1;
}
}
else {
if ($i == "0") {
echo ("<a href='$PHP_SELF?pg=".$i."'>1</a> ");
}
else {
echo ("<a href='$PHP_SELF?pg=".$i."'>");
$i = $i+1;
echo (" ".$i." </a>");
$i = $i-1;
}
}
}
Sin embargo no es como yo lo paginaría... es un parche nomás