Because of the sensors you'd have to use two-way X-10 devices to implement something like that. If not for the dawn-dusk sensors, you could just repeat a macro every minute that restores the current (pre-programmed) state. If there was no change, it would have no effect on anything; if there was a failure or a manual status change, it will get restored to the pre-programmed. BTW, the dawn-dusk sensors can be effectively replaced by calculated time of dawn and dusk, depending on the day of the year and geographic location, so, with proper software and macros, you could probably still get away with simple one-way X-10.
Since it's the CM11 sending the commands there's little you can do. It doesn't track the state and won't be able to send the sort of 'all devices reset state' commands you'd need. Adding some sort of PC or controller to the setup that tracks the states it sends to the switches is the likely way to do this. You need to have it keep track of what it told the units to use so it can send the commands again. If you've got one-way switches this would be your only choice. If you had two-way switches ($$$) you might also ask them their state and set it to what it's supposed to be using. But one-way units are a lot cheaper and 2-way wouldn't really help the power-loss situation.