The "Mark as used" property is very useful for microflows that are called via reflection or pages that are called via deeplink. But it does not prevent deleting, renaming or moving it. So a call via reflection will yield to an error if its location or name has changed. I suggest that deleting, renaming or moving produces a build error (rather than a runtime error). Apart from that "Find Advanced"->"Unused items" should not list documents that are marked as used.