After learning to script a bit, I understood what's the problem with the infinite loop, and how to go around it. Invasions are finally working in my save, and I'm happily fighting the Xenon in Depths of Silence now
The problem is that the state of the invasions script is stored in four global variables, which are naturally saved with the game. After the script is stuck in an infinite loop, these variables keep telling that the script is running, and now new invasions happen, because the script is told old ones are running. Fortunately it is a simple script to remove these global variables.
So in order to start the invasions script anew in your savegame do the following:
1. remove invasions script files
2. start the game and load your save
3. activate the script editor (if not active already)
4. remove running global scripts that refer to the invasion script (there should be two of these)
5. run a script that sets the following four global variables to null:
-al.control.invasion.stm.bad
-al.control.invasion.stm.good
-invasion.stm.running.bad
-invasion.stm.running.good
6. save your game and exit
7. install the invasions script files
8. start the game and wait for the invasions
This is the way I got it working.
I'll be happy to answer any guestions, if you want elaboration on this process. If you want the global variable nullifying script, PM me your email. I don't have a web space to put it on right now.
If you absolutely must not activate the script editor, there is a way the nulifying should be doable by abusing the AL-plugin system. Then the two infinite looping processes will be left in the backround, but they should be harmless since they don't do anything (except consume some CPU time).
Thanks for Marc for a great script. I'm having a blast with the Xenon right now.
