Interestingly enough, MS was a v7 licensee before MS-DOS was around (Xenix). As an historical aside, MS-DOS handled protecting its non-reentrant APIs by setting a flag in memory that TSRs were supposed to check (with interrupts disabled) before making any DOS calls.