The MPCHG does allow the switch between nonlinear materials. The help on MPCHG states "Changes the material number of the specified element. Between load steps in SOLUTION, material properties cannot be changed from linear to nonlinear, or from one nonlinear option to another."
So we can not switch from say one plasticity model to another, but if all that is changing between them is say reft, or alpha, etc. then my tests show it works.
You use the esel or cmsel command to select the elements, then the mpchg to change to the alternate material.
Here I have a cube with a uniform thermal condition, but just the top layer of elements has a material with a different reft (defined vy the mp,reft command) At time = 2, I use a command object of mpchg,1,all, which changes the material of the top layer from material 2 to 1, which is now the same as the rest of the block and the thermal strain adjusts as expected. The model has plasticity and I see the plastic strains develop and persist so for my limited testing it is working as expected.
While my simple test of showing MAPDL is accepting the change, you will need to double-check on your end that you see the expected results.
I hope this helps!