Inside a trigger create database is not working
As the documentation says (under Trigger Limitations):


  The following Transact-SQL statements are not allowed in a DML trigger: 
  (...) CREATE DATABASE (...)


There are further limitations, consulting the documentation is highly recommended.

This all means, to my understanding, that you should solve this problem at application level*: check whether your user is successfully created, and then issue a CREATE DATABASE statement.  Preferably these two are enclosed in a transaction, so that either both succeed or both fail - this way you can be sure that your data are in a consistent state.  You may have to issue a DROP DATABASE if the transaction fails.  (Thanks to Jon Seigel for pointing this out.)

*: From this point of view, the 'application' may be a T-SQL block of code (or a stored procedure) as well.