I reverted to version 3.24 of PSoC Programmer and this works.
So version 3.25 is broken for power-cycle programming of PSoC BLE devices. Unable to acquire device.
I would suggest you to create a support case to get a fast solution (Top of this page -> Design Support -> ...). A Cypress engineer will get in contact with you.
I am still looking into this. Another factor I found was that PSoC programmer does not usually recover from hangs which occur when the device cant be acquired, or when the red abort button is clicked during a hang.
So, in most cases when this happens, every subsequent programming attempt will fail until the program is closed and the MiniProg is unplugged and plugged back in. Until I realised this I wasted a huge amount of time!
This might have caused a false assumption that the downgrade to 3.24 may have cured the problem. I have spent so much time on this that I dont want to upgrade again to 3.25 yet to see if it breaks, so wont be raising a support case at this point.
I spent ages messing about with the settings to get it to work. I am not sure what the clock speed is supposed to be but 8 Mhz appears to work best. 3.3 volt programming is needed whereas I was previously using 5V which does not.
Hmmm, I've run into a similar issue where I sometimes have to restart the program and replug the hardware to fix a failure-to-program issue, but I don't recall which version I'm running. (I have two miniprog3's, so it's hard to remember which is which)