As Jim pointed out, this behavior is by design. It is part of the dynamic linking behavior that is built into the JMP data table and its dependent platforms. The legend is determined by the row state in the data table. It is not determined by the plotting platform. The Rows > Color or Mark by Column command and the contextual plot menu command Row Legend are the same command.
You set a row state for an observation in the data table the way you want it once and everything adopts it. You can always change the row state or return it to default row state. This applies to a single row, a group of rows, or groups of rows.
It seems to me that if you want to have different legends on your plots, then you are going to have to specify each legend individually for each plot anyway, so what is the problem?
Note, too, that row state is a valid data type so you can set the row state for one plot and save it in a data column. Change the row state for the next plot and save it in another data column. And so on. You can later re-instate the saved row state in the data column to the row state in the data table when you want. If you are into scripting, then this process could be automated. It actually isn't that bad if you have to do it manually.