I would think that with (in effect) two decoder, smoke-unit and XLS, you will need to isolate them from each other if you wish to program / investigate CV values..
My first guess for 'no control' is that one of the addresses has been changed, but not the other.
I would isolate one power lead from each decoder..
Connect to common and just the lead to one decoder, then read CV's '1' and '29'. - '1' for the short address, and '29' to make sure the decoder is not set for long-address.
Repeat for other decoder.
Once both have the same address, or confirmation they are still the same, you can move on..
Next, I think I would leave the smoke-unit disconnected. See that loco runs, and if you still get the 'pip' noise. - If you do, it is either something to do with the XLS, or a problem within the loco.
Think I would also check what each function key has been programmed to do..