When using socket-mode programming, the programmer supplies the voltage to the target board. Therefore, the first checkpoint will be to monitor current required by target device. The socket provides 5V and 30mA to the VCC programming pin. If the PCB draws more current that this it will fail due to low VCC. Excessive current draw may be the reason for programming failure.
Another reason for programming failure may be due to the time that it takes for the presense of VCC to be detected. Excessive current draw may extend the time that it takes for VCC to ramp up to 5V. If the ISSP tests the level of VCC before it ramps up to 5V on the target board, then the programming will fail.