Use or remove reset capacitor?
You would omit the 100nF capacitor when you want to support the programming mode. In this case it is recommended that you add an additional external reset supervisor chip to your design. The reset supervisor that you select should be one with an open drain output. Depending upon which supervisor chip that you select the capacitor and reset button would be connected into the input side of the supervisor. 

This provides the isolation needed to allow the programming function to operate reliably but still allows your board to get a clean reset signal over to the MCU in case of power up or switch press.