non vorrei dire una cavolata, ci avevo smanettato anche io, e mi sembra che l'errore sia in upload.php.

Ti passi il session_id perchè mi sembra che l'swfupload (non se a causa di flash o cos'altro) si perde la sessione.

Quindi se ti passi il session id usalo per recuperare la sessione, altrimenti ne fai partire una nuova e non sei più loggato.

Quindi in upload.php:

codice:
session_id($_POST['PHPSESSID']);
session_start();