Hi Eliot,
basexclient -c "CHECK dfst_dfst-sample-project_master; OPEN dfst_dfst-sample-project_master; REPLACE dfst/metadata.xml <dfst_metadata/>"
I just tried this with BaseX 8.0, 8.1 and the latest snapshot; it worked on my machine. Maybe it's due to some configuration details? Does it also happen with a fresh instance of basex80.zip?
By the way, if you use CHECK, there is no need to call OPEN afterwards. This works as well:
basexclient -Uadmin -Padmin -c "check x; replace a.xml <a/>"
Christian