When using the 'Replay' cache mode the cache needs to be invalidated whenever simulation variables have been changed. The invalidation will always only affect the according subcaches, e.g. when changing a mesh paramter only the mesh cache will be invalidated, the base cache will remain intact. Before this change Blender always invalidated the entire cache.