My system was always this:
1) One person is designated to say the order, which goes based on player name. In the event of multiple lamps per person, append a number (B1, B2, etc.)
2) When people find lamps, they activate them and immediately do / in party chat.
3) After the order is called, everyone do / as you hit your lamp.
4) If your lamp turns off, say "Off". (If you have multiple lamps, give the letter/number designation of your lamp)
5) If other people start saying "Off", then say "On" if your lamp is still on. (If you have multiple lamps, give the letter/number designation of your lamp)
6) Keep in mind that your first activation is going to be your sloppiest and least trustworthy. With that said, the first order is rarely incorrect.
7) The leader rotates the "Off" lamps through the order.
So you might end up with A->B->C->D as you said on the initial activation. If Brian and Dave's lamps remain on, then Andy and Charles would say "Off" and the leader would say "CBAD." People would / as they activate and you would necessarily complete the floor.
If only Brian's lamp remained on, the leader would call DBAC and it would necessarily complete the floor if your initial order was correct. (Think about it.)
Lamp floors almost never take more than two tries once your group is good at them. Five-lamp floors can take more than 2 tries, but they are very rare.