Archer30, good job!
According to OB:C control words, there is a very useful article by Mihanik, I translated it with Google translator:
https://dropmefiles.com/kLs66
We are interested in type 54 (monster):
Bits 0-11: number of monsters (0..4095) - MO:G. Interestingly, if you set the value to 4095, when you right-click, a proposal appears to remove this unit from the map, because it is too large.
Bits 12-15: monster non-attachment probability in tens of % (0..10) - MO:R with 2 parameters; if more than 10 - the same as 10.
Bit 16: will the monster join - MO:R with 1 parameter (and inverted); if empty, probability join is in effect (previous point).
Bit 17: If filled, the monster never runs away - MO:U.
Bit 18: The number of monsters does not increase - MO:O.
Bits 19-26: personal number (0..255) with MO:ABM commands.
Bits 27-30 are ignored and are usually empty.
Bit 31: Is there a number. Similarly with an artifact, if there is no artifact, no resource, no message, no number is set. Then MO:ABM don't work. This is also mentioned in the ERM Help, and checking for negativity is also relevant here.
The monster type is specified in the object's subtype.
What follows from here?
The control word contains all of the monster settings available via !!MO, except for !!MO:A B M.
Instead, we have a unique monster id (bits 19-26) that has a value in the range 0-255.
From this it is clear that the MO:ABM settings are stored in a separate memory area, and the specified id is required to access them.
On random maps, monsters do not have additional settings, so ABM commands do not work for them.
If you put a monster on the map with the UN:I command, a new free number is allocated to it. I don't know the exact mechanism for this, and simply setting bits 19-26 and 31 with OB:C doesn't seem to work as I first thought.
If you put too many monsters, after 255 the numbers will start to repeat.
It doesn't seem to mean anything if we don't change the monster settings with MO:A B M commands, and we can put as many monsters as we want in this way.
But if you change the settings, then there are all sorts of collisions.
What else can be useful?
For example, you can choose not to disable error messages,
and instead check the 31st bit in the control word: