Recently I had to do some reporting for which I was not able to use BAM . So i had to write some custom code to track data from promoted properties by populating a seperate DB . One of the interesting problem was to also report the stat of the orchestration.
This is possible in BizTalk as each orchestration
has a unique Instance ID you can take that out in an expression shape
OrchInstGuid = System.Convert.ToString(Microsoft.XLANGs.Core.Service.RootService.InstanceId)
We can then check for status of the orchestrations using this instance ID