It would be nice if pkg had a means to upgrade the deprecated packages.
		
		
	 
Yes, it would. Well, actually it is (just install the newer one, it will conflict with the older one and 
 pkg will attempt to remove it to solve this), but as soon as dependencies are involved, that can be a roadblock ... you can't just change the dependencies of a package.
A partial solution could be a feature some other packaging tools offer: A mechanism called e.g. 
"provides" in Debian. Taking the example of samba, this would mean there's a "virtual" package called 
samba, packages needing samba would just depend on that virtual package, and both 
samba413 and 
samba416 would have a property 
Provides: samba, telling the package manager this can fulfill a dependency to 
samba. Might be a wishlist item for 
 pkg.
But: This would not help when the dependency is about shared libraries and the ABI version of a required library isn't the same. E.g. if some binary wants to link a 
libfoo.42, it's impossible to just use a 
libfoo.43 instead without recompiling. So in a nutshell, there will always be situations requiring you to build your own packages if you want different dependencies than the official packages, there's just no way to completely avoid that...