Menu access callback; limit access to account cancellation pages.
Limit access to users with the 'cancel account' permission or administrative users, and prevent the anonymous user from cancelling the account.
function user_cancel_access($account) {
return ($GLOBALS['user']->uid == $account->uid && user_access('cancel account') || user_access('administer users')) && $account->uid > 0;
}