Colin, he said "eLink" so that makes the controller RailMaster. Hence why the post was moved here from the Hornby DCC forum.
However any time I try to change address using eLink it still stays at 003. Tried resetting using 8 to CV8 and tried just using new code directly without success.
Now you haven't given a lot of detail about what you have done or not done as your method for configuring the address in the loco.
My apologies if this is what you have done, but as you never told us, it is not wise for us to just assume.
So starting from basics and first principles, the loco being configured has to be placed on a separate piece of track directly connected to the 'PROG' output on the eLink.
As you haven't mentioned what decoder, it might be sound it might not. So I will document a 'sound loco' but just ignore the sound steps if not applicable.
Now being a Bachmann loco, it won't be in the Hornby locomotive database, So I will give the full 'step by step' instructions for adding a non Hornby loco to RailMaster [3rd link down below]. But just changing the Loco DCC address is in the 1st link below.
In all my links below ... search out MY posts in the threads.
Using RM to change the address of an existing Loco.
Using RM to read and write CVs.
Manually adding a Loco to the RM Database.
Full description of the ‘Locomotive Settings’ screen in detail.
Also how do I change direction of movement for steam locos. Know it has something to do with CV 29 but see different suggestions.
With reference my 2nd link down in the list further above regarding the CV Reading / Writing screen.
As you say, you change the default loco direction by amending CV29. In the RailMaster CV reading / writing screen. Double click the CV29 value entry and a pop-up will appear listing all the CV29 options with 'check boxes'. If the 'Reverse direction' check box is ticked, then untick it. If it is already 'unticked' then 'tick' it. Then save the changes to the decoder. Note this has to be done after successfully reading the value of CV29 first, else the pop-up table will not populate with the current items correctly ticked.
In all probability your current value is 6 [if your DCC address is less than 128] and the new value needs to be 7. But read the value of CV29 first to be absolutely sure.
Read Page 71 of the RailMaster manual for details ... extract below:
For those readers not using RailMaster. Then this online CV29 Calculator will assist in setting the CV29 value to write to the decoder.