Nice macros.
However, names starting __Capital are reserved for the libc implementation: you should not be messing with that namespace - a libc could all too credibly have functions called __ThreadLock and __ThreadUnlock of its own.
So please try some other name for the internals, e.g. CFInternalThread{Un,L}ock().