The no-halt / keep alive add on boards present a few wrinkles when it comes to programming. Think of it as a battery that needs to be charged.
What this means is that in order for the decoder to be programmed correctly, the “battery” needs to be fully charged before anything will function correctly.
To make it even MORE fun it can take a few minutes for the module to fully charge on the main track under full power, and will take an even longer time on the programming track.
A simple way to tell that a module is fully charged is if the loco responds normally to speed commands. If the module is still charging, you will give the loco speed but it will not move correctly or at all.
The modules do not hold a charge indefinitely. But they WILL hold it for enough time to cause problems under certain circumstances.
Example: Some decoders REQUIRE a “reboot” after making changes. “reboot” means to remove and restore power to a decoder.
However some no-halt / keep alive modules can hold a charge for up to 15 minutes!