Oddly enough, I've never thought about this before despite my extensive use of variables. When setting a variable (that isn't part of an initialization or starting script), does that variable only exist during the turn that its parent script was enabled?
If it's a local variable, it only exists until the end of the script that created it.
If it's an attribute, it continues to exist as long as its parent object does.