Some nodes do not cache their values so they would always change on load.
Well once again, a expression can accomplish same as scriptJob. I try to always underline that doing the quick fix expression that works is NOT always the worlds most brilliant idea. Like Ive said expressions are NOT mel, but a expression can call mel. For those reasons its possible to get a immediate trigger to scene change no way around it. So if there's a single use of any, mel command that in any way changes the dg in a expression thats not explicitly and strictly confined to doing all changes via DG propagation. This would be a misuse of the dg, but sadly as a developper one has t contend with realities: Theres not much you can do to force users to do the proper thing when the improper action is so easily available. Sadly this leads to a lot of inefficient design later to evade the problem.*
Also changing time, playing back or otherwise will cause maya to say the scene has changed (as does rendering with mentalray with motion blur on etc.). In fact since any attribute change would cause Maya to report this there's very little in effect that could potentially say that scene has not changed. Even if the change is very stupid.
So in reality the value would be ONLY false, after a save, or just after a load in cases where theres no load spill over. So it would be useful for a auto save script to not save after a longer idle period but that's about it. Maya does however give you more granular control over references tough, where you can query just what was edited.
- Yes i agree you shouldn't need to force users to work differently. But sometimes it is the most efficient way to do things. Impractical, maybe but best nevertheless