I don't think so. Hyphens are valid parts of a database or table name as the schema object names chapter in the mySQL manual points out.
Some brainstorming points:
Triggers work on table level only
I don't think there are any hooks that can execute a stored procedure before creation of a database/table - correct me if I'm wrong, of course
As far as I can see there is no way to use permissions to block creation of tables/databases with a certain naming pattern.
The only thing that comes to mind is sabotaging the creation of the database directory on filesystem level if it contains hyphens. Can certainly be done somehow on a Linux system, but it's a horrible idea.
You would have to teach IAMADummy not to use hyphens in table names, or create a wrapper around mysql that analyzes the queries the user writes, and blocks the execution of offending commands before they are passed on to the database.