Some issues:
Block numbers are not assignable directly by the user. We could provide a facility for that after any paste or import or merging. There's a couple scenarios where these need to be static across multiple projects (consistent RX/WX of user blocks between multiple PLCs and 2D arrays).
In the mean time, I recommend creating a "template" system configuration that defines all your blocks that you need fixed (we do this for our automated testing). Export that and then use that as THE template for all new projects. You don't actually have to use export, just make a read-only project file that you always open first, then do a Save-As to a different .dmd file and edit THAT one. Remove any unneeded data blocks based on what you end up with.
Until there is a facility to let you manually tweak the data block #'s, Paste cannot do what you want since the Destination project is "boss" (e.g. destination already has a user data block at #239, and the clipboard has a completely different data block at #239 - you have to resolve that some way, hence the need for the facility).