Here is a little something that I did not realize was happening when BizTalk executes a transform. If you have a property schema associated with the destination schema in a map, BizTalk will automatically promote those properties when it executes the map. This does not help if you need to promote an adapter context property or another property schema that is not associated with the destination schema. For those you will still need to use another tactic like promoting properties using an initializing correlation set.
Generally I promote properties for the adapters or a generic envelope schema and I just recently observed this behavior. If you are working on a project that uses promoted context properties to route messages this may be an easy way to set those values.