Disabling user/register
Your implementation is most probably correct, I use the following code to customize access to the register page in some projects:

function MYMODULE_menu_alter(&amp;$items) {
  $items['user/register']['access callback'] = 'MYMODULE_user_register_access';
  unset($items['user/register']['access arguments']);
  $items['user/register']['type'] = MENU_CALLBACK;
}


Make sure that the custom module is enabled, make sure that the module name is spelled correctly, also make sure that there really is an &amp; prepended to the $items parameter. It happened to me in the past that I forgot the reference operator on hook_X_alter implementations. Also flush caches after adding new hook implementation functions.