I would have expected you to use "-cmd" instead of "-daemon".
The "-cmd" option runs ZAP from the command line (no UI) and exits once the other options have been applied, in this case after the AF plan has run.
The "-daemon" option puts ZAP into the background - it will keep running until you stop it, and will not exit after the plan has completed.
Ideally the AF should support all of the session options meaning that the "-session" option becomes unnecessary with "-autorun". But we are not there yet, so combining them makes sence.
The line "Setting config connection.timeoutInSecs = 120 was null" means that the option was previously not set, but now is set to 120.
Thats an informational line, but the fact is was "null" before is an indication you may have got something wrong.
I think you should be setting "network.connection.timeoutInSecs". We should support the old values (which you have used) but its best to use the new ones.
Why are you getting different outputs when using a different session file?
Becuase theres some subtle but key different maybe?
Diagnosing such problems without the UI is hard.
They are in the Docker docs but the principals will work when running ZAP headless from the commandline as well.
Cheers,
Simon