I know there were some issues early on with conditional times crossing midnight, but from what others tell me, that was resolved a long time ago.
There are a few ways to solve this:
1) Try the "if time is between" condition (Which uses two of the three slots) along with the flag condition. You could always test to see if that works. That is probably the simplest way to go. Just make sure to set the condition to be "between 10:00 PM and DAWN," and not "Between DAWN and 10:00 PM".
2) Create two macros, triggered by the same housecode/unitcode combination. AHP will automatically turn them into a set of If-Then-Else conditions, and you can re-arrange the tabs to adjust the order of operations. The first one would be "if time is after 10:00 pm AND flag is set (or not set - easier to use the flag ONLY when you want to bypass the normal activity - create a macro to set the flag when needed, and clear it after the guests leave). The second macro would be "if time is before DAWN, and flag is set (or not set - see above). both macros will do the same thing (brighten the lights, etc), but only one of them will run, at most. If neither one has all TRUE conditions (like during the day, or if you set the flag to indicate you have company), then nothing will happen.
3) Create a few macros:
a. Sets a flag (ex: flag 2) (called from a timer at 10 PM)
b. Clears the same flag (#2) (called from a timer at DAWN)
c. Macro that turns the light up to full brightness, sounds the alarm, turns on the coffeemaker, etc (called from the motion sensor, has a condition that the flag (#2) is SET.
You could then use a PalmPad or some other method to run macro "b" to clear the flag if you have company coming, and re-set it when they leave.
If you want to get really fancy, you could have macro "a" have a condition of its own, and only run if a different flag (ex: #3) is OFF. that way, you could have a macro to set flag #3 ON at 6 PM (before the company arrives), and not have to remember to run macro "b" after 10 PM.
Good luck.