Succede questo perchè la città viene passata tramite POST. Al momento in cui viene caricata la pagina nuovamente i dati nella variabile POST vengono persi.
Poi mi sembra uno spreco scriviere due volte la stessaparte di codice cambiando solo una parte della query...
Se mi dai un attimo le posto il codice che utilizzerei io 
EDIT:
Ecco il codice che utilizzerei io:
Codice PHP:
$citta_scelta = $_GET['citta'];
$connessione = mysql_connect("localhost","root","");
$db = mysql_select_db("db",$connessione);
// impongo una visualizzazione di 8 immagini per pagina
$numero_record = 8;
if(!isset($_GET["inizio"])){
$inizio = 0;
}else{
$inizio = $_GET["inizio"];
}
//se non e' stata scelta nessuna citta' oppure tutte le citta', carico tutti i dati
$strsql = "SELECT * from tabella ";
if ($citta_scelta == '' || $citta_scelta == 'tutte')
{
$strsql .= "WHERE citta = '$citta_scelta' ";
}
$strsql . = "LIMIT $inizio,$numero_record";
$query = mysql_query($strsql);
$strsql2 = "select * from tabella";
$query2 = mysql_query($strsql2);
$numero_record_totali = mysql_num_rows($query2);
//visualizzo i risultati della query
while($scatola_temporanea = mysql_fetch_array($query)){
$thumb = $scatola_temporanea['id']."thumb.jpg";
$name = "disegno_0".$scatola_temporanea['id'];
$articolo = $scatola_temporanea['articolo'];
$bottone = "bottone_0".$scatola_temporanea['css'];
$immagine = "immagine_0".$scatola_temporanea['css'];
echo "<div id=$immagine><img src=\"images/$thumb\"></div>";
echo "<div id=$bottone><form name=$name action=\"bottoni.php\" method=\"post\">
<input type=\"submit\" name=\"button\" value=$articolo>
</form></div>";
} //fine ciclo while che scorre la query e piazza i risultati nell'array temporaneo
// calcolo il numero delle pagine necessarie
$numero_pagine = ceil($numero_record_totali/$numero_record);
// calcolo di quante pagine necessiti
echo "<div id=\"pagine\">";
if($numero_pagine > 1){
for($pagina = 1; $pagina <= $numero_pagine; $pagina++){
if($pagina == $pagina_corrente){
echo".$pagina.";
}else{
$link_pag = "<a id=\"link\" href='visualizza.php?";
if ($citta_scelta == '' || $citta_scelta == 'tutte')
{
$link_pag .= "citta=$citta_scelta&";
}
$link_pag .= "inizio=".(($pagina - 1) * $numero_record)."'> Pag".$pagina."[/b]</font></a>";
echo $link_pag;
}
}
}
echo "</div>";
echo "<div id=\"pagina_di\">";
$pagina_attuale=(($inizio/8)+1);
echo "[b]Pagina ".$pagina_attuale;
echo "[/b] di ".$numero_pagine;
echo "</div>";
mysql_free_result($query);
mysql_free_result($query2);
//inserisco il form per la scelta delle citta'
$query_citta = "select * from tabella_citta ORDER BY citta ASC";
$dbResult = mysql_query($query_citta);
echo "<div id=\"scelta_citta\">";
echo "<form method=\"get\" action=\"visualizza.php\">";
echo "<select name=\"citta\">\r\n";
echo"<option value=\"\">Choose a city</option>";
if ($query !== FALSE){
while($row=mysql_fetch_array($dbResult)){
$row['citta'] = htmlspecialchars ($row["citta"], ENT_QUOTES);
echo "<option value=\"$row[citta]\">$row[citta]</option>\r\n";
}
}
echo"<option value=\"tutte\">Display all cities</option>";
echo "</select>\r\n";
echo " <input type=\"submit\" name=\"Invia\" value=\"Invia\">";
echo "</form>";
echo "</div>";
mysql_close($connessione);
Prova e fammi sapere