Conceptually, the 2.0 branch shouldn't exist after it's merged back into trunk. That's the point -- branches only live as long as they need to. For example, if there was an "Clowns and Puppies" port of SilverStripe, that branch may live a very long time (because everyone likes clowns and puppies ;-) ). But some branches, like a "2.0 branch" which is always intended to be merged back into the trunk, should die a graceful death.
This will clean things up in a real way and make life simpler.
One effect: after the merge of 2.0 onto trunk, we'll need to modify the scripts and definitions of projects in subversion to point to trunk.
Radically new, unstable development would go on a branch, like 2.1 or 2.1-kittens, until 2.1-kiittens becomes stable, gets merged onto trunk, and the cycle repeats.
Here's some good thinking on the topic. If we adopted something similar, I think that would be good: