Yay! You know what worked for us last night? I set Ethan's alarm clock and told him he couldn't get out of his room until it beeped. I did the same for Gwen. Now for some reason Gwen's went off at midnight so that was a bust, but Ethan's went off at 6:15 (yes, right now that is our "reasonable" waking time) and he waited in his room until it beeped!
You cannot imagine how happy I am that this might actually be a solution to the "lets get up at 5:15" routine we've been in lately.