There is a scenario (race condition) where an import in one script module could capture old code when multiple scripts were updated.
If you need a module to appear under another name, use assignment, not import, just before you use it. In function scope, don't rely on such from outer scopes. Only a reference to the fully-qualified name will ensure you get the latest code.
{ I wouldn't be surprised if jython 2.7 improved this situation, but I don't think it is gone. }
Edit: New bold above. The race has been caught, and a work-around developed: