Well, after some extensive testing, here’s the result:
It doesn’t work 
I’m using 2 scripts:
switch_live.mls = switches to mixer input (record device 3)
begin
CurrentPlaylist.AutomationStop;
Encoder.SetLiveFeedEnabled(false);
Encoder.GetDSPPlugins.GetItem(0).SetPriority(-2000); // dsp plug-in not needed as input is already processed
Encoder.SetRecordDevice(3); // 2nd soundcard, takes input from mixer
Encoder.SetLiveFeedEnabled(true);
CurrentPlaylist.AutomationPlay;
end.
switch_auto.mls = switches to soundcard monitor input (record device 4)
begin
CurrentPlaylist.AutomationStop;
Encoder.SetLiveFeedEnabled(false);
Encoder.GetDSPPlugins.GetItem(0).SetPriority(1); // dsp plug-in needed as input taken from soundcard requires processing
Encoder.SetRecordDevice(4); // 1st soundcard's monitor mix channel
Encoder.SetLiveFeedEnabled(true);
CurrentPlaylist.AutomationPlay;
end.
This is how to reproduce the behavior…
I start mAirList and run the second script to use the soundcard input. Automation starts playing, everything running as expected.
I run the first script to switch to the live input. This works as well.
I run the second script again to switch back to the soundcard input. This time it doesn’t work. mAirList continues to take the input signal from the mixer signal, even though the Control Panel within mAirList shows the the source has changed back to the soundcard monitor mix channel.
Even when I switch devices manually, and then deactivate and reactivate the live feed, the encoder takes the input from the mixer.
Only restarting mAirList fixes this and enables me to use the soundcard’s monitor mix input again.
(Well, when the script runs, it doesn’t fade out the automation but stops abruptly — I guess this is an expected behaviour?)
Any ideas, Torben?!
Thanks! 
Marcus