I'm sorry, but I don't think what you are saying is correct.
In any event actions and sub-events are executed from top to bottom. Functions are no different. They don't add any "wait 0" to the execution order. (unless you are using asynchronous functions and specifically wait for them to complete)
And any conditions are evaluated only once, except when in loops.
yes you seem to be correct, i just tested my "understanding" doing what i was saying, the functions do call up correctly even if in 1st function call i change 2 conditions to not fire the functions in the list ... weird i can swear what i was saying was happening ... but it seems is as you said, when we actually wait for them specifically to complete, or in loops. sorry for dragging it out to much, this was actually really refreshing, i understood something new on functions hehe ...