Hi Ed,
upgrades from older EPP packages, such as Mars packages (or to be really precise: all EPP packages with EPP package version <4.6.0.20160301-1200) had to be prevented by p2 because we changed their internal structure in an incompatible way. EPP package upgrades from e.g. M7 to RC3, or RC1 to the final release are expected to work. The details and reasons are covered in bug 332989 [1] and in bug 490515 [2] (and in some mailing list discussions).
If (just in theory!) we would not prevent an exemplary Mars -> Neon upgrade of an EPP package, the user would see a successful upgrade, but loose most of the package content. The reason for this is that we moved the dependencies that used to define the package content from the EPP "feature" to the root of the package. The positive effect is that it is now possible to uninstall unwanted parts from a package, and for projects it is important to realize that they can roll out updates independent from the EPP package. The downside of this structural change is that it was not possible for us to provide a good upgrade story. But if you are using Oomph you should be able to switch between Simultaneous Releases in a smooth way.
I hope that helps understand the background better.
Thanks,
Markus