Before you locked, did you first correct the weights that keep jumping back? Lets say a vertex is affected by A and B, each at 0.5. Locking B and trying to set A to 1.0 won't work because B is still locked at 0.5. Unless it's as you say, completely different each time and acting randomly, then we have other problems, but…