Try this patch to upload.c and let us know what happens:

--- upload.c.orig Thu Oct 17 12:32:25 2002
+++ upload.c Thu Oct 17 12:38:35 2002
@@ -743,6 +743,7 @@
printf("%3d%%\010\010\010\010",(done*100)/length);
fflush(stdout);
}
+ fsync(i);
fclose(i);

/* C3 flash? */