The HD tuner switching on and off is the shield. When AutoSense is told to go to the HD Tuner it is supposed to make sure the radio is on by switching the power, that’s the click you hear in the radio.
Your internal intent source switching shouldn’t be power cycling the tuner (for any reason I can think of…)
If you have your HD Tuner accessory wire (the red one) hooked up to the same accessory wire that powers your head unit, it should always have the power it needs. Then the shield will turn the radio on/off when needed. Or, depending on current draw (I haven’t measured…) hook up the red wire to constant power. Again, the shield should turn the radio on and off when it’s needed.
It’s setup so when you click the HD Tuner icon, the internal AutoSense audio source switches to the HD Tuner source. If it’s NOT running, it sends the command to power up. When you change the AutoSense source to anything else, it sends the power off command.
Maybe you could try powering the shields ACC line via the radio’s Remote wire. It will keep the shield and Arduino powered up with the radio, and will power off when the radio turns off. You could then set your stay on delay with just the radio (it has this feature correct?) If it doesn’t, when I get the outputs working, then power the shield’s ACC line via the key’s ACC wire, and the radio’s ACC line via an output on the shield. This will keep the radio on until the shield timeout occurs and shuts everything down.