The problem is not in your schemas, but in some odd behaviour in the XmlDisassembler. This could be worth a bug report.
When you promote the RegWaitID value as both a promoted property and distinguished field in a single message both are promoted into the message context.However, if your message is part of a debatched interchange only the distinguished field is put in the message context.
If you remove the distinguished field and only use the property promotion, then the property is promoted.