RE: Model creation duplicate id's
Well, every model you create is technically a new layer in your package - assuming you create your models in the same package every time. Even in 2012 this wasn't practical at all, since every "element" can only exist in one model per layer (so if two customizations touch the same field - the field can only exist in one model). In D365, the field will exist in model1 and model2, but one model technically is over-layering the other. Now, the over-layering is granular down to the property (so unless the two customizations change the same property, things will likely merge just fine) but for example an code method - you would have to start merging code between "models" (i.e. layers) if the lower layer (model) gets updated. And if you want to change this code later to all be in one model, you'll have one hell of a time to start copy/pasting properties and what not.
Also, what purpose would this serve? In AX2012 you could arguably export the model and import it somewhere else (albeit error prone considering elements could be missing etc.). In AX7, the models, since they are layers, get flattened into one version and one assembly. There is no compilation benefit (in fact, many models in the same package will probably hurt compiler performance), and there is no deployment benefit (since you deploy the whole compiled package). From a developer perspective there is no benefit either, considering what I said above.
If you create an entirely new package for each thing that's not a good plan either. Over time it will become a nightmare of event handlers and extensions in multiple places with no overview of what's where. Maintenance and debugging tasks will become very difficult.
Hope that helps frame a few things.