Не надо создавать поддомены в момент регистрации.
В DNS добавляется общая запись для всех поддоменов (*.example.com). Что-то вроде:
* IN A 192.168.1.1
В настройках сервера указывается, что он должен обрабатывать запросы к поддоменам. Для httpd что-то вроде:
<VirtualHost *:80>
DocumentRoot /path/
ServerName example.com
ServerAlias *.example.com
Для nginx:
server_name .example.com
Т. е. на веб-сервер идут запросы со всех поддоменов. А дальше скрипт анализирует заголовок HTTP_HOST и выдает соответствующее содержимое.