The FTDI holds DTR low during communication rather than sending a pulse, so you'll need a 0.1uF capacitor between DTR and Reset. Otherwise the ATmega328 is being held in Reset whilst avrdude is trying to upload a new sketch.
If 144000 baud doesn't work, you can try recompiling Optiboot for 115200 baud at 20MHz. Thanks (again) to Bill Westfield, this is rather easy. Go to the
hardware/arduino/bootloaders/ folder in the IDE, create a new directory, and into it download the files from
https://github.com/WestfW/Arduino/tree/master/hardware/arduino/bootloaders/optiboot. In the Makefile change the line
atmega328: AVR_FREQ = 16000000L to
atmega328: AVR_FREQ = 20000000L, and run the commands
..\..\..\tools\avr\utils\bin\make OS=windows ENV=arduino clean
..\..\..\tools\avr\utils\bin\make OS=windows ENV=arduino atmega328
Hopefully you'll then have a new file called
optiboot_atmega328.hex. Open this file and the Optiloader sketch in a text editor, and locate the
image_t PROGMEM image_328p section in Optiloader. Replace the hex data in Optiloader with the data from the new .hex file, taking care to conserve the formatting (actually you only need to replace the lines starting :107E20 and :107E30, as the rest is unchanged). Once this is done, follow the previous recipe for uploading the bootloader. Before trying to upload a sketch you'll also need to create a new section in the boards.txt file, with all the same settings as for the Uno except with f_cpu set to 20000000L.