I’ve had good experience with caching; my app takes over an hour to jit on 0.53.1 so caching is pretty key.
If the cpu/os changes, the cache is rebuilt. Like @Hannes mentioned, problems are unusual for ‘normal’ usages. The timestamp of the python source file is part of the fingerprint to changing/updating it will simply cause the cache to be rebuilt.
For more info, you might find this discussion interesting