Maybe there is an intentional reason for this design, but it’s lame..

“Unlike URLLoader instances, FileReference instances do not maintain a hard reference that allow it to remain active in memory after the scope in which it was defined is resolved. As a result, any FileReference instances defined as local variables within function calls will be deleted by the Flash Player at the end of the function call, before the user has a chance to react to the resulting dialog box.”