A few factoids:
For historical reasons probably related to decoding the module code wheels (although I haven't yet figured out the logic), when an X10 firmware transmitter sends a sequence of unit addresses on the same housecode, they're transmitted in this order:
13, 5, 3, 11, 15, 7, 1, 9, 14, 6, 4, 12, 16, 8, 2, 10
This is the case for macros consisting of the same module type and command which are downloaded to the CM15A memory, e.g., if the macro turns On sixteen Appliance Modules set to units A1 through A16, regardless of the order they appear in the macro.
If the same macro is not downloaded but triggered to run from the PC, the addresses are transmitted in ascending order, i.e., A1, A2, A3, ..., etc, regardless of the order they appear in the macro.
In both cases the On function is transmitted only once following all the addresses.
If the individual modules in the macro are separated by a delay, even a zero delay, then they are transmitted in the order they appear in the macro, and the On function is transmitted following each address.
Now I don't own a PR511 so don't know what it does. Perhaps the OP (or anyone else having one of these devices) would run the following experiments for the edification of the rest of us: Record the order of the entries in the Activity Monitor when the +1 and +2 switches are turned on and motion is detected with:
1. Base code set to 1
2. Base code set to 3
3. Base code set to 16
(Don't have it triggering any macro at all - just record what's received by the Activity Monitor.)