Globally blocked users (using Special:GlobalBlock, provided by extension GlobalBlocking) can still use Thanks. The extension only checks for local blocks, with $user->isBlocked().
The simplest solution is to also check for $user->isBlockedGlobally(). That method is documented as: "Do not use for actual edit permission checks! This is intended for quick UI checks.", but it looks like it runs the complete checks.
Alternatively, we could introduce a new permission like 'thank', granted to all users – checks with Title::userCan() etc. will all fail if the user is globally blocked.