Potresti anzitutto rendere piu' snello il codice facendo una sola SELECT (supponendo che ti servano tutti i campi selezionati) MA SOPRATTUTTO spostando dentro il ciclo FOR il test sul buon esito della INSERT (in modo da controllare se per caso esiste un qualche errore a fronte di altri eventuali inserimenti):
Codice PHP:for ($i=0; $i<$numero; $i++) {
$query="SELECT Modello, Colore, Taglia, Prezzo " .
" FROM prodotto " .
" WHERE CodProdotto = '$carrello[$i]' ";
$result = mysql_query($query);
$arr = mysql_fetch_row($result);
$Modello = $arr['Modello'];
$Colore = $arr['Colore'];
$Taglia = $arr['Taglia'];
$Prezzo = $arr['Prezzo'];
$prezzotot = $Prezzo * $oggetti[$i];
$somma += $prezzotot;
$username = $_SESSION['username'];
$sql = "INSERT INTO ordine (CodProdotto, PrezzoTot, Quantita, UserID) VALUES ('$carrello[$i]', '$prezzotot', '$oggetti[$i]', '$username');";
if (mysql_query($sql, $db))
echo "La registrazione è avvenuta con successo.";
else
echo "Errore durante l'inserimento";
}
mysql_close($db);
?>

Rispondi quotando