Ci credo che non funzioni l'aggiornamento dell'ID, sei proprio tu a dire di non modificarlo con quella query... o meglio, cerchi un record con un particolare ID (clausola WHERE), poi reimposti vari campi del record assegnando a ID lo stesso valore che hai cercato.
Dovresti quindi modificare la query usando due variabili diverse, che naturalmente ti dovrai calcolare prima:
Codice:
$update = mysql_query("UPDATE $tabella_users SET userid='$nuovo_id', user_name = '$user_name' ,
first_name = '$first_name',
last_name = '$last_name',
WHERE userid=$id_attuale");
Stammi bene...