Just a quick word on this - we constantly go through the same problem you are currently. The ongoing problem that I find is that when talking about overlaying one set of geometry over the other, with your intent to automatically "combine" both to represent a current state, is that CAD nor programming will never know which geometry between either base set is accurate.
If you customer's copy for example shows lighting in "Room A" correctly, but your copy shows "Room B" as correct, how do you tell the system which to maintain and which to delete? Very tricky.
The clostest I've ever come is writing a LISP routine that allows you to select geometry to "keep", which is then redraws on a new layer. You go through your overlain drawings and select what is to be redrawn, then the routine deletes what you'd selected and blocks the output when complete. Take that final block and stick it in place, explode is required. Perhaps a knowledgable LISP programmer can give you a hand.
What I'm doing right now is creating a block out of the geometry that needs to be changed for a drawing I'm currently working on, then overlaying that onto the master schematic, and manually updating as needed. Long and slow, but I haven't found another way yet to teach CAD how to read my thoughts as to what stays and what goes