Como nota final, sólo quería decir que sí es posible subir ficheros íntegramente con javascript (usando ajax), sin iframes ni nada de nada.
HTML5 trae un repertorio nuevo de objetos y métodos a javascript, y entre elles está el objeto que controla los envíos de ficheros.
http://www.matlus.com/html5-file-upload-with-progress/
De un objeto File se puede saber todo en local (incluso si es una imagen, un preview antes de enviarlo), y cuando lo envias, XMLHTTPREQUEST 2 tambien te dice la velocidad de transferencia, e incluso el porcentaje de subida que llevas para hacer la típica barra que crece.
Microsoft, como siempre, no implementará estos nuevos estándares hasta el explorer 10. Firefox y qebkit hace tiempo que lo tienen.