Steady battery voltage is important. Nefmoto even says it before writing.
Just because it isn't listed here on the site, doesn't mean you don't have to do it. At the dealership, we always use battery maintainers. Computers don't like low voltage situations, especially during programming.
The ECU could care less about the voltage unless it drops significantly below 10V. There is pretty strong voltage rectification going on, caps and so on.
The ECU will flash when the car doesn't even have enough capacity left to crank. Because the usage is miniscule.
The only times you need a battery charger are when:
1. The ECU turns the fans on during flashing.
2. The flash is very long (30+ minutes)
3. The car has a nearly dead battery
In fact I screwed up against point 1 on a Bosch ECU once, and the voltage oscillated so much that the fans stopped and then restarted constantly, but the ECU completed the flash just fine.
A lot of the shit you do at the dealership isn't really relevant when you know what you are doing and how things work.
As to the reason why the flash fails - security access is denied.
Can be due to modified seed/key algo, can be also due to a number of other things - the engine running, previous security access attempts with incorrect seed/key (resulting in lockout) and so on.
On some Renault ECU's even because engine temp is above a certain number. Voltage is not it though - these ECU's usually flash fine on bench at 10 volts.