What I have concluded, though, is the following:
1. Orbiter treats its global reference frame, inherited presumably from VSOP87, as an inertial reference frame;
I don't think that the global reference frame is inherited from VSOP87, because in my understanding, Orbiter could calculate the SSB position in two ways: it could use the flags returned by celbody DLL (EPHEM_PARENTBARY, EPHEM_BARYISTRUE, ...) or it could use the formula you posted (or something like that).
If *all* the celbody calculate the position from a VSOP87 theory, then the reference frame is inherited from VSOP87, but if I replace one or more celbody with one that uses another reference frame, the global reference frame used in Orbiter is not well defined.
2. Orbiter's Solar System Barycentre is not located at the origin of the global reference frame and its location is not necessarily fixed in that coordinate system;
I'm not sure to understand what exactly you mean.
Consider a body that uses a DLL to calculate its state. The DLL tells Orbiter that the state of the body is {px,py,pz, vx,vy,vz} setting the appropriate flags (EPHEM_PARENTBARY, EPHEM_BARYISTRUE, ...).
If the position (and/or the mass) is wrong, Orbiter calculate a SSB that is different from the SSB of the real Solar System, but I expect that oapiGetGlobalPos() returns the position wrt the SSB of the system that Orbiter is simulating, in other words, I expect that the SSB is located at the origin of the global reference frame.
3. total linear momentum of the Solar System is not (exactly) conserved; and
4. total angular momentum of the Solar System is not (exactly) conserved.
Even when a sophisticated integration algorithm is used, "exactly" doesn't happen.
I think that the only way to do that is to use an unperturbed motion.
None of these 'wrinkles' need be of much consequence - so long, that is, one is aware that they exist.
Agreed.