Perhaps I have misread this thread but there seems to be some confusion.
When you use the Arduino as an ISP programmer, the MCU stays in the Arduino. You then use this along with the ISP header (SCLK, MISO, MOSI, RST) to flash the bootloader to the second Atmega on your board. Then... removing the MCU form the Arduino to use the board purely as a USB-serial bridge, hook up the tx, rx and the reset - via the 0.1uF cap noted here:
https://www.arduino.cc/en/Tutorial/ArduinoToBreadboardNote the 'reset' line on the Arduino board already comes from the the 0.1uF, so you don't need one on board. The 'reset' connection on the Arduino is directly connected to the MCU's reset line, including pull-up and cap.
Look at your schematic, you have your ISP header but no corresponding 'bootloader' header. Although there is that 6-way SIL header with tx, rx, and reset lines but those are connected to both the MCU and what appears to be a USB-serial chip on board. You can't have the tx and rx lines from the MCU connected to both the on board USB chip AND an external source, it just won't work. In this case, once you have flashed the bootloader to the Atmega on board - using the Arduino as an ISP programmer - why do you need the Arduino board again to upload the sketch? Unless this USB-serial bridge on board doesn't have its DTR line hooked to the reset.
There can be other issues too with clocks, IIRC when flashing a virgin Atmega, it defaults to internal oscillator, but if that fuse is changed, it requires an external clock to be flashed.
Ultimately, I think you have confused yourself by putting, what is essentially an Arduino UNO - including the USB-serial part - on the PCB, but treating it as just an MCU. I could be wrong, but it is hard to understand exactly what you have tried, and in what order because the schematic you have isn't the full schem form that PCB. As far as I can tell, once you have successfully flashed the bootloader to the board, you no longer need an Arduino UNO - you simply use the on board USB port.