Allora, con calma.

vorrei che riportassi qui i valori delle seguenti variabili del tuo php.ini

file_uploads
upload_max_filesize
post_max_size
max_input_time
max_execution_time
memory_limit

Poi, vorrei che mi inviassi la print_r della variabile $_FILES

E' molto importante il codice di errore.
Confrontalo con i seguenti:

0 = UPLOAD_ERR_OK: nessun errore, l'upload è stato eseguito con successo
1 = UPLOAD_ERR_INI_SIZE: il file caricato eccede la dimensione massima specificata in upload_max_filesize
2 = UPLOAD_ERR_FORM_SIZE: il file inviato eccede le dimensioni specificate nel parametro MAX_FILE_SIZE del form (se presente)
3 = UPLOAD_ERR_PARTIAL: upload eseguito solo parzialmente
4 = UPLOAD_ERR_NO_FILE: il file non è stato caricato
5 = UPLOAD_ERR_NO_TMP_DIR: la cartella temporanea non esiste (da PHP 4.3.10 e PHP 5.0.3)

dai ce la faremo...