The "." is treated as a special character in SQL to distinguish between a database and a table or a table and a field ie
Code:
select * from MyDatabase.MyTable
So it's a poor idea to use the "." within the database name itself. You could try enclosing the whole database name in backticks to tell MySQL that you really do mean it's the name of a database.
Code:
use `usernames.May2007`;
drop database `usernames.May2007`;
Next I'd rename you're databases to something like usernames200706. Why are you storing your user names in a backup database anyway?