Sorry I'm not finding anything more.
As you can see the games does check ram address 9A which is "acquired weapons", however I'm not sure how it makes the connection between that, and whether or not to draw the sprites.
Also I'm unfamiliar with MM2 and it looks like some of the documentation at datacrystal is wrong (or maybe I'm missing something?), for instance according to it ram address 9A should be 04 when you only have the Flash Stopper, but when I set a PW for just that stage beaten, I get 20 for 9A.
Anyway if I'm reading this right it loads 9A (acquired weapons) to A, then set A to $0002 which is most likely an address used for temporary storage for calculation.
Then it does a "logical shift right", meaning that the bits are moved to the right and if there is a 1 for the last bit the carry flag is set. Then branches out if the carry flag is set.
Apparently this operation repeats for every single bit, and since each bit of 9A corresponds to an acquired weapon, that's how they know which stages have been cleared.
After that I'm lost. Meh, I tried, but since I'm unfamiliar with MM2 this is taking too much of my time to keep going.
Hope this helps, if you can't figure out the rest or find someone who can, I suggest trying to re-think your sprite and bg drawing so that your robot masters portraits correspond to the default sprite and bg tile use.