hook_civicrm_permission in a drupal module
I may be misreading this, but it sounds like you're saying that you've got a new permission, and the user with the role that has the permission granted is working just fine.  However, you're saying that Drupal user ID 1 is being treated as if it has the permission, even though it doesn't have any role with that permission.

If so, this is totally normal.  Drupal user ID 1 gets all permissions, even when using CRM_Core_Permission::check('SpecialPermissions').  You should be able to confirm by creating another user without that permission and seeing that CRM_Core_Permission::check('SpecialPermissions') returns false.