What is the different of MarkUpdated / Update ?
Base.Caches[typeof(PX.Objects.CR.Standalone.Location)].MarkUpdated(tierslocation);
Base.Caches[typeof(PX.Objects.CR.Standalone.Location)].Update(tierslocation);
MarkUpdated() sets the status of the row as "Updated" (or "Inserted" if the row does not exist in the database) but does not engage any business logic (field updated, row updated, etc etc). This status will cause the cache to persist the rows current state once the save button is pressed
Update() fires the entire event stack (field updated, row updated etc) which engages the business logic of the graph, as well as marking the rows status of updated or inserted which causes persists to change.
99% of the time, you want to use "Update()" unless you are doing something very specific where you want to short circuit business logic