Для регистрации я использую следующий вариант:1. Пользователь проходит регистрацию через сайт. Данные поступают в таблицу users в базе. Вот к примеру дамп:
Код
CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `email` varchar(255) NOT NULL,
  `login` varchar(255) NOT NULL,
  `passwd` varchar(255) DEFAULT NULL,
  `ip` varchar(255) NOT NULL,
  `active` smallint(1) NOT NULL DEFAULT '0',
  `code` varchar(255) NOT NULL,
  `sphere` smallint(1) NOT NULL DEFAULT '0',
  `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `login` (`login`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
Поле active в моем случае это флаг подтвердил учетку юзер по email или нет. А вот поле sphere будет говорить создан пользователь у нас в sphereaccu или еще нет.
2. Пишем маленькую функцию для выборки всех записей с таблицы где sphere = 0, т.е. тех кто был зарегистрирован на сайте но еще небыл добавлен в базу:
Код
[FUNCTION reg_new_users]
IF (<DB.Connected>==0)
    DB.Connect
ENDIF
DB.QUERY "SELECT * FROM users WHERE `sphere`=0"
if (<DB.ROW.numrows> > 0)
    for i 0 <eval <DB.ROW.numrows>-1>
        SERV.ACCOUNT add <DB.ROW.<eval <LOCAL.i>>.login> <eval <DB.ROW.<eval <LOCAL.i>>.passwd>>
        DB.EXECUTE "UPDATE users SET `sphere`=1 WHERE `login`='<DB.ROW.<eval <LOCAL.i>>.login>'"
        SERV.LOG New User: <DB.ROW.<eval <LOCAL.i>>.login> created!
    end
endif
(функцию добавляем в любой .scp файл или создаем новый в папке scripts)
3. Открываем sphere_triggers.scp, находим f_onserver_timer и добавляем в самом начале запуск нашей функции:
Код
[FUNCTION f_onserver_timer]
reg_new_users
SERV.Account UPDATE
...
Вот и все, теперь каждые N минут функция reg_new_users будет автоматически запускаться и добавлять 
в сферу новых пользователей. 
п.с. Интервал запуска f_onserver_timer зависит от директивы TimerCall=5 в sphere.ini