This constraint seems to be a property of the ActiveHome smart macro software (therefore unnecessary) and not the hardware (as hardware can communicate across House Codes), which seems regrettable.
That's a good question, but it could be the limitation of the CM15A's firmware. :-
If it is a software thing, would be nice if X10 would allow any address to be added in a condition.
Puck,
From my experience trying to write a piece of software that not only controls X10 modules, but also polls the CM15A interface for module status at startup (and on manual request), it would appear that the CM15A's firmware only allocates enough memory to track the status of 16 modules (i.e. one house code). So it would make sense that MACROs running in the CM15A interface should only try to poll modules that are in the "monitored house code" because the interface has no where to keep track of the status of the other modules (unless you set a flag with a MACRO as you stated).
It also appears that AHP's CM15A driver attempts to keep track of the status of all modules while the CM15A is connected to the (running) computer.
I haven't tried this, but if you set a MACRO to run in the computer only, will AHP then allow you to check the status of "non-monitored" modules?
At any rate, this is at least partially a CM15A firmware limitation.