I've checked in a fix for this. It was a rather dumb oversight.
With this fix, packages like struct::list can be required in init scripts and used at runtime. Without it, the package would need to be required within the body of the proc in which they are used, which appears to be the case in util-diff-procs.tcl which predates this change.
If i see correctly, the fix is to remove the previously added rename attempt from the block handling the namespace imported commands. This mean probably that the renaming of namespace imported commands is not covered now. Would not a check for existence of the target of the name followed by a deletion of the command in case it exists help to cover this case?