What could cause a microcontroller on a board not to accept programming?
For debugging, I would put the uC on a breadboard, and one-by-one connect its pins to the target board and see which connection blocks the programming.

As I see no connection on your board to the logic pins involved in programming, my guess would be the power pin, because either:


the the board loads the power beyond what the programmer can supply
the programmer power-cycles the uC which is prevent by the board


In both cases a suitable resistors between the uC power / ICSp and the rest of the board might solve the problem. Try 100 Ohm for a start.