I guess there could be a number of reasons, although probaby the most expected problem for me would be an event handler being used which is not stackable. Not all event handlers are, and loading a new script which tries to run from the same trigger as a previous script will simply overwrite the handler for that event with the newly specified one. Check tcl-commands.doc and binds for more info on what is stackable.
I can't remember precisely atm but one of the commands for exiting a proc, maybe break, maybe return, will result in no more events being processed after the current one, effectively "emtpying the stack" for stackable binds. Both of these answers rely on the notion that both scripts are trying to hook into the same event to run. Maybe we need more info..