Three things that may be happening when the client updates every time it connects:
The resources, including plug-ins may have changed, or
The time is significantly different, or
The dates are different on the client and the server machines
In the first case, when the client connects, it checks to see if the resources in the 4DX folder match the server. If they do not, it will update to the current resources. In the second and third case, the client will check the date and time on the server machine, and if they don't match, it will update. If any of these three scenarios are true, the updating will not go away even when compiled.
Note: If the client has a newer date or time than the server, it may not update when it needs to because it thinks it already has the latest update.