Right now prefix rules are executed by the xxx_yyy_moodle_database constructor.
That causes 2 problems:
1) force ALL db to fulfil the rules (not only Moodle DB, but auth/enrol....)
2) print_error() output is 100% broken, because a lot of stuff hasn't been defined (lang, themes....)
IMO those checks should continue where they are now (admin/index.php), simply preventing any Moodle installation, but not making the dml/ddl stuff dependent of that.