MySQL dbnames

The idea of forcing new dbnames to have the prefix mainuser is certainly a very messy solution to whatever the problem may be.

If I have to move the DB to somewhere else under cpanel, it will be renamed othermainuser_oldmainuser_dbname, which automatically
screws up every program that accesses it, be it written in perl, PHP, VBasic, C++ or cuneiform.

In my opinion it is good that db's are created username_db. This is because some users will name db's identically ( ie forum ) if multiple users db were created like that then there would be obvious issues of view and/or overwritting others information ( not good )

With db names created like so ( prefixing the users db with username_ )
I think you think this is a messy solution because when you created the DB for this account you added ( oldmainusername_ as a prefix of yourown ) When you move your domain and database driven website from one server to another you should be expected to update important information to your scripts ( ie change the dbname, username, password ) to ensure connectivity and transitioning between hosts.

Doing ANY manual transition of a website between servers ( and possibly different control panels ), you should expect the unexpected and be able to troubleshoot the problem. In this case ( you claiming it will break many scripts ) I think that is totally untrue and you should be able to update to the relevent information by editing a few lines in what ever script you are using.

Maybe it wouldn't be too much of a problem when you have a single script that does stuff to the DB, but when you have a whole corral of nerds pumping out code, moving DBs from one place to another under such circumstances can become a nightmare.

Real-world OSs have no trouble with conflicts - when somebody tries to create a file with the same name as an existing one, he gets a message. Why would cpanel want to do things differently?