To make sure this was not a problem caused by my amateurish code, I went and pulled the latest versions of the octree files from Megafunk's Git repository. These were:
From commit e6fb86522b9b4c615be61d933808aa34c0370427
\Common\Fragments\MSOctreeFragments.h
\Common\Processors\MSOctreeProcessors.h
\Common\Processors\MSOctreeProcessors.cpp
(I also updated the Mass Sample plugin to use subsystems, as required by one of the earlier commits that impacts the octree system.)
Then I repeated my tests, with the exact same results. (Much heartbreak there, as I was really hoping I had done something dumb that could be easily corrected!)
Inspecting the octree code, I could not understand how it could cause this sort of issue. From what I can tell, whenever the octree accesses the entity transform it does so through a const keyword, which should prevent it from modifying the transforms in any way. Additionally, the octree works on client, since the debug print I have set up returns the ID of the nearest entity clicked. On client, I can click from different sides of the cone stack to confirm there are multiple entities present even though all have the transform (0,0,0).
I do not know what steps to take to debug this code further. I will have to learn more about archetypes and what interactions could affect the entity transforms. I have a gut feeling that the error in placement of these entities is entangled with the crash when the server tries to issue movement orders. Will detail that crash next.