cambia il tuo codice così
Codice PHP:
$query "insert into statistiche_pg (id, pg, nome, visibile, valore, tipo) values "
$conta=0
foreach (
$_POST as $chiave=>$valore){     
    if ( 
$conta == $conta 1;      
    else 
$query .= ", ";     
    
$query .= " (NULL, $pgid, '$chiave', '$chiave', $valore, '$tipo') ";     
}
mysql_query($query) or die ( mysql_error()." ".$query ); 
come facevi tu in sostanza la prima volta che entrava nel ciclo inseriva il primo record, la seconda volta reinseriva il primo record e il secondo, per risolvere basta effettuare la query fuori dal ciclo, comunque altro consiglio che ti do è quello di ripassare come funzionano i cicli (for, while, do while, foreach) e di utilizzare un'opportuna indentazione, altrimenti rischi di creare codice poco chiaro anche a te stessa.