The issues that I come across are wanting/needing different authors, glossary, security rules, status types etc between the different models.
Yes. This is what I meant by "stuff which is part of the project but not of any model", or reference data.
EA already has the ability to support multiple metamodels (in the form of MDG Technologies) in the same project. That's good, although enforcement is weak.
But since reference data is global, and since part of an EA metamodel is implemented as reference data, each project can in fact only support one metamodel fully and (any number of) others only partially. This is bad.
The ideal solution to my mind would be to allow root nodes to retain their special status, so no to Modesto's points 1, 2 and 3, but to introduce the notion of linking one metamodel to each root node, which is something like Modesto's point 4. These metamodels should be complete, and there should be functionality in place to manage conflicting metamodels in a project. So if you tried to create a model (= root node) from metamodel X when you are already using metamodel Y and they disagree about what types of requirement exist, EA should warn you.
A model = root node would then mean "a unit of modelling which adheres to one metamodel". You could still create multiple root nodes linked to the same metamodel if you wish, of course, but not one root node with multiple metamodels. (And I don't think linking individual packages to metamodels makes sense, since any meaningful model easily runs into thousands of packages, which is why I think root nodes should remain special.)
Finally, I would love if they stop using he word project instead of repository.
They're both needed, but they should be used consistently.
A project is a modelling workspace. Each EA session can be connected to (at most) one project.
A repository is a modelling workspace
storage. It can be a DBMS database, or a single file, and both those cases have sub-cases. There are issues which relate exclusively to the storage technology so having a separate word for that makes sense.
In fact, the project transfer functionality highlights this: you can copy a modelling workspace from one storage to another, and afterwards you have
the same project in two storages. All the GUIDs are the same, all the reference data is identical. (They may quickly diverge, of course.)
So consistent use of "project" and "repository" would be desirable, but they are both needed.
And ideally there should also be one single definition of "model", which is different from a package, a diagram, and a project.
Ideally ideally, something like what I described above.

4. Project Transfer should allow the import of single packages, including root nodes, or full repositories. I know it can be done through XMI/XML files but these files are not particularly user friendly.
There is a middle ground. You can create baselines (which can be taken at the root level) in the source project, import them into the target project and restore them there. It's XMI underneath, but you never see it and there are no files to manage.
/Uffe