The collection's positions had drifted. Removing an element from a component collection does not renumber the ones after it, and a position you send is matched against the stored positions. On a collection A, B, C, D, removing 2 leaves A, C, D stored as 1, 3, 4; a later "remove 3", "patch 3" or "replace 3" then acts on C, the second element shown, and answers 200. The read shape has no positions, so a client cannot see the drift.
Appending and inserting are safe. To reorder, remove or change an element on a collection whose history you do not know, read it, change the list in your code, and write it back whole with areaContent(name), which also renumbers it.