Ok I resolved the issue.
There are two COM PORTs : One that can be used for serial port terminal emulation programs. And other (Intel Edison Virtual Com port) that maps to a drive. When I use this Virtual Com port, the upload works like a charm.
I hope this distinction is made more clear to newbies in the documentation somewhere.