complimenti a xPilux per la pillola! 
non sono stato a leggere tutto il thread perché è lunghetto 
comunque se a qualcuno può interessare ho messo giù 2 righe di codice per rinominare direttamente il file nel caso ne esista già uno con lo stesso nome sul server, si sa mai che qualcuno ne abbia bisogno 
scrivo dal require della classe in poi
codice:
require_once( "library/upload.class.php" );
$up=new FileUpload("ufiles/"); // creo la nuova istanza passando la dir in cui fare l'upload
$fname=$_FILES['file']['name'];
$fext=array_pop(explode(".",$fname)); // prendo l'estensione del file
if (!file_exists("ufiles/".$fname))
$up->Upload($_FILES['file']); // applico il metodo Upload all'istanza appena creata
else{
$fnew=substr(md5(date("YmdHis")),mt_rand(1,4),mt_rand(7,32));
$fu=$fnew.".".$fext;
$up->RenameFile($fu);
$up->Upload($_FILES['file']);
}
penso sia abbastanza sicuro il nuovo nome
prende date e ora del sistema, crea l'hash md5 e ne prende solo una porzione, attraverso substr i cui 2 estremi sono generati casualmente usando mt_rand
Spero che a qualcuno possa essere utile