The 'time it takes' and the fact that you can't identify errors until the file has already uploaded was one of the problems I had with my own image uploading script but atleast mine came back with the reasons for failure to upload such as wrong file type etc. I'm not getting any message from your script and it leaves me more than a little in the dark. My clients will just think I haven't written the web page properly, dislike me for waisting their time and leave.
Are there any results from the upload that I should be recieving and am just failing to see? Also, are there occasions when a file won't upload other than time out, for instance maximum file size etc? I just ask because my smaller jpg files are loading up fine but the larger ones are taking their due time to process and then don't exist.