Well done.
Now, let's examine #2 more closely:
You wrote: If the user account is enabled ...then use objectSid.
No problem with that.
You wrote:
if it is disabled and has msExchMasterAccountSid set to the well-known SELF SID...then use objectSid
My question: Which ObjectSID? The disabled account's SID or SELF?
You wrote:
if the user is disabled has does not have msExchMasterAccountSid...then use objectSid
Again, a question:
Which ObjectSID? The disabled account's SID or SELF?
The last 2 descriptions are not clear (to me) because, in one instance, there is MAS, and in another, there isn't. So, which SID are we using? The way I read KB903158 is that Exchange will always assume that MAS is equal to SELF SID and will ALWAYS use SELF SID even when there is no MAS associated with the disabled account. But your description does not make this clear when you mentioned objectSID.