I've started to address this issue by reserving the first 1000 ids for the "staging" (or if you prefer, "install profile").
I think this is an excellent idea that perhaps makes my suggestion to split config vs. data tables into two databases obsolete. Some thoughts: - If we had data-driven database schemas, your drupal_base_db.txt script (or its built-in equivalent) would (a) not need to hard-code the list of tables not to copy (the schema would identify them) and (b) not need to use fragile-looking MySQL-specific regular expressions and SHOW queries to do its job. - Not every table needs an id field, only those for which you want to reserve some id space. Pure config tables (e.g. system) can be copied in their entirety. The schema could identify such tables so processing them correctly would be easy. Barry