Thanks for the pics and step-by-step, that’s a great help. 
As Spaceboy says (thanks Spaceboy
), this is to do with materials being arranged in ‘slots’. If you load a new material it will replace the selected material as it is being loaded into that material slot. This does have advantages - it means you can easily change a material at any time. It also keeps ZBrush responsive by limiting the number of materials.
It’s also important to remember that a 3D model will always take on the selected material unless a material has been embedded into it. To embed a material you make sure that M or Mrgb are on and then press Color>Fill Object. (Note that if Mrgb is on the model will also be filled with the selected color.)
You can change a material either by loading in a new material using the Material>Load button or by using the Material>CopyMat and Material>PasteMat buttons to copy and paste from one slot to another.
Also, if there are custom materials that you use often, you can make sure they are always available (in their own slots) by saving the files to the ZBrush 4R2\ZStarup\Materials folder. Don’t save more than 25 materials here and reduce the number if you find a difference to ZBrush’s performance.
If you load custom materials from disk during a ZBrush session make sure you save the Project (press File>Save As) rather than just the Tool. This will ensure that the materials are reloaded into the same slots next time you want to work on the project.
HTH,