You missed my point.
Anything that is able to create a database in MySQL has to have ROOT MySQL priveledges. BUT individual users should be given their own usernames and have unique permissions for their own databases ONLY such that they cannot access anyone elses.
Your CP must have ROOT priveledges within MySQL or it wouldn't be able to CREATE a database. But when one of your users logs in to that CP, they should be restricted according to their own priveledges (hense you as admin can restrict how many databases that user is entitled to create.
SO, as it is the root priveledges within your CP that is used to CREATE the db's, why not simply run restricted permissions on all users effectively barring the CREATE unless it is carried out via the CP.
Does that make sense?????
PS Shell Access???? Braver man than I!