This sounds (no pun intended) like a board problem in the engine, although I wondered whether your CAB2 has an issue leading to the horn (do you mean whistle?) slider being stuck/defective and so on all the time. However, although the manual does not say so in terms, I think that the switches override commands entered on the CAB2. In which case I really can't understand why you are still getting smoke if the switch has been turned off. I assume that it makes a physical break in the circuit preventing power reaching the smoke unit.
Have you tried a reset (page 29 of the manual)?
In the last resort, AlexM does excellent repair work.