This is a relatively common issue which is actually independent of the target used.
This is expected behavior and the explanation is as follows.
Simulink has an API to compute a checksum for the subsystems of a model. This checksum contains information that allow Simulink to know that the model you have built and the one you are executing in the target are actually the same. In case they are not, it tells you that your system cannot be reused. This may happen in case a subsystem has been changed, for instance.
For this specific case, the checksum provides different results even though it is built and executed afterwards. This is probably due to a "rand" placed somewhere in the model, or a similar cause. So the value of the checksum cannot always be the same.
If this were the case, something that you could do would be to try to avoid the use of "rand": you can simulate the model once, retrieve the values from the "rand", and from then on, instead of using the "rand", simply hardcode those values.
For more information, please read the section on "Model Checksum" on the following post from a MathWorks blogs: