Block Materials Management

What is the best way to manage materials in files that are used as block instances in other files?

I have found some frustrating inconsistencies in the way that materials are (or are not) carried into another file. Here is a view of an original file:

Here it is again as a block. Materials are missing and some have lost texture.

Sometimes they are lost altogether, and sometimes they appear multiple times labelled as Physically Based when they are specifically titled in the original file.

In all the files, I have made a point of allocating materials to layers only.

I have tried using block files that have materials already allocated, and conversely, using the same files without materials allocated and applying them in the file in which they are used as block. Neither way gives a consistent result.

The inconsistencies always appear after the files are closed, and then reopened again.

I also tried placing the materials in a dedicated folder, but again they do not reappear as labelled.
Here is what happened to Sonerai Red.

Which was located here:

Ended up as this!!:

Is there a more reliable way of managing the materials?