1. How are the lamps defined in AHP (are they all defined as "Lamps," "Old Lamps (no SoftStart)", or "Appliances")?
2. Unless you need to be able to control them separately, it is better to put them on the same HouseCode/Unitcode. If you do need to control them separately, however, you'll need to keep them on their own UnitCodes, though. In any case, make sure they are on the same HouseCode, at least.
3. In a macro, units of the same type being sent commands one after another (with no delays in between) get grouped together.
For example, it SHOULD send "B2, B1, B off". In that case, B2 and B1 "wake up" and listen for the next order, which they both react to at the same time.
However, it seems like in your case AHP either has delays between the actions in the macro, or the modules aren't all defined as the same type in AHP. (It is very much NOT recommended to mix module types (SoftStart, Non-SoftStart, Appliances) on the same HouseCode/UnitCode combinations).
So, it is sending something like this instead: "B2, B Off, B1, B Off). In this case, only B2 "wakes up" before the first "B Off," and B1 doesn't turn off until the second one.
So, check your module definitions, and check your macros again. The answer might be in there somewhere.
Also, empty the trash in AHP. Stuff in there has been known in the past to cause some issues.