OK. I have formulated a hypothesis while trying to get together a test case for this forum and Oracle support.
Originally I replaced the XSD only as a resource using the DBMS_XDB.DELETERESOURCE method. Life went on and eventually testing hit an error that lead me to believe I should have done something more.
I then discovered the DBMS_XMLSCHEMA.DELETESSCHEMA method and tried to use that in conjunction with the DBMS_XDB.DELETERESOURCE method. It was after this, when I could see the schema said one thing but the XMLTYPE schemaValidate method said something different, that I started this discussion and raised an Oracle Support call.
Since then, I have been restoring the DB and repeating tests in order to produce a test case, but everything has then been working as expected.
Hypothesis: Removing the XSD originally using only the DBMS_XDB.DELETERESOURCE method left the system in some sort of inconsistent state that the subsequent use of the DBMS_XMLSCHEMA.DELETESSCHEMA method could not correct.
Thanks to anyone who spent some time giving this some consideration.