I had the same problem and I spent two days on it.
On the beginning I used RS232 to TTL converter based on FTDI FT232RL IC via USB port. After two days it was the only one suspicious and I decided to use RS232C port which I had on my PCI card inside my PC.
I build simple RS232-TTL converter based on ST232C (or MAX232) circuit. It is working now without any problems. I flashed ESP8266 10 times with success and it works fine now. Remember to add 5V to 3.3V divider on ESP8266_RX pin for safety, but I noticed that ESP is 5V input tolerant circuit (I have no documentation, so it is better to be careful).
Explanation:
I noticed on my oscilloscope that transfer is organized in 1024 bytes packets and after each packet EPS8266 sends acknowledge to the PC. I noticed that after 30..33 packets ESP8266 did not acknowledged received packet and flashing procedure crashed. Probably FT232RL lost some bytes.
Best Regards
Maciej