I'm afraid that doesn't answer my question though, hopefully this will clarify my concern. I assume a script will stop dead if you run out of fees, but does that mean you have to massively overpay your fees to ensure complete execution? The direct consequence of including a turing complete scripting language is you can writes scripts which you *cannot* know ahead of time how long they will execute for, and consequently, you cannot know ahead of time how much it will cost in fees. If, on the other hand, you write scripts which you *can* know their execution length ahead of time, you may as well not have used a turing complete language to begin with!
I personally think the scripting language would have probably been better off with a "for each" like construct, and restricting JMP to forward jumps only. Since you can design your "for each" to be reasonable *prior* to execution (though obviously you could still construct a program which you can't reason about completely, it reigns in the potential for infinite loops if you implement it right).
In addition to this question:
I'd like to know how blocks will be "orphaned". Will scripts from such blocks be "rolled back"?