I believe that PC-BSD is aware that PBI's have been installed (or at least could be easily detected or implemented).
How about a warning in the upgrade options to detect the presence of installed PBI's, and to give a big fat CANCEL option if PBI's are detected - I mean something REALLY impossible to ignore. Some kind of "pkg_add" history or list export to a safe location might be convenient as well before upgrading.
This could also give information about locations that will be preserved, so you can prepare for the upgrade, rather than doing the "silly human nature" thing of just doing it and seeing what will happen.
If your home drive is preserved by default, you could tell people their PBI's will be trashed, so to keep copies of the installs in a safe location, such as their home directory.
Windows does support upgrades, but major re-gutting or version upgrades (98 to 2K, or XP to Vista) is clunky, imports garbage and is slow. It is also far from guaranteed to keep installed softwares functional.
Installing service packs for windows is a different matter. Changing the base version of FreeBSD however, is more akin to changing OS versions than it is to applying a few security updates.
Windows has become the monster that it is as it tries to maintain backward compatibility, which is fine for a couple of versions, but has become a ball and chain in many respects as well.
Isn't there an appalling and time consuming method of upgrading base FreeBSD versions via recompilation that "may" keep PBI's and ports functional? Could this be offered as an alternative upgrade path?
I personally feel that *nix is shite at BINARY upgrades the moment you install anything that is not under the direct control and authorship of the company that releases it (ie ports in FreeBSDs case). The way it is dealt with is an individual distributors hacked up method, not a clean and well thought out approach that you can only get by owning and controlling almost everything. FreeBSD does a superb job of looking after itself, as does the linux kernel, AIX etc.
Xandros, Suse, Mandriva, PC-BSD etc all have to maintain a level of comaptibility with not only their core component they are not in control of, but also the spaghetti knot of additional softwares from other vendors, AND their own additions. This is a very impressive feat. Grats guys!
Remember many *nix + open source world combinations are a small core, just the kernel in Linuxs' case, and a cloud of softwares, GUIs and tools from all over the place mashed together. Hacking off, then stitching replacement body parts onto Frankensteins monster is harder and messier than making a nice, fresh, more functional, NEW chimeric abomination : ) The open source monster, the broth of a million chefs will always be a very hard brew to keep fresh. It is a compelling and very notable thing that this is achieved at all.
That being said - I still love PC-BSD, and mega kudos to all involved in its' maintenance and development. Binary style upgrades are very difficult for a software universe (*nix) that still considers compiling software as a normal part of computer usage.