4
You can rip out a lot from the register.php and bypass the "Can Register" option.
Perhaps simply by taking line 36 in register.php:
if (empty($xoopsConfigUser['allow_register'])) {
and change it to
if (!xoopsUser || !$xoopsUser->isAdmin($xoopsModule->getVar('mid')) {
(Not tested, though)
I believe that if you turn off registering in the XOOPS preferences, you won't see the "Register" link in the login box and so anonymous users won't be compelled to try to register just to get an error message.