I do not think having sim login execute envsetup is going to work very nicely. Either simfactory has to keep track of the fact that it already executed envsetup (eg by setting an env variable SIMFACTORY_ENVSETUP_DONE or so) and skip it during eg build or there is a risk of running envsetup twice which is not guaranteed to work (since the module system on many clusters is not very well done).
It also means that sim login foo presents the user with a different environment setting than a regular ssh foo does which would seem to be equally confusing.
If one wants to be in the same environment that Cactus' make finds itself in, then a sim execute "bash -i" does that.
"sim login" behaves in a way that is consistent with a bare ssh command (ssh hostname). Having it execute envsetup would change this and also make it harder to correctly run the other commands that then must no longer execute envsetup again.