I discovered that the lack of synchronization between clients and the server can result in some not so happy behavior after Ghost.
On both, ModifyPawn is run again in all abilities. DruidLoaded, at a certain point, removes the SG and AR so that they can be replaced with "proper" weapons later.
On the server, the removal doesn't occur because the server knows certain things the client doesn't (mainly, the existence of the LoadedInv object). However, the client doesn't seem to see this object and also successfully creates one during a Ghost triggered ModifyPawn. This would result in the client deleting the SG and AR (but not replacing them with new ones).
The good news is that the GhostInv object that Ghost itself looks for to see if it's already run is on both the client and the server, and I added a check to DruidLoaded.ModifyPawn to check for GhostInv and return if it's found.
Gah I just realized this is fixed only for Ghost, or other cases after Ghost (I think - not tested but I'm fairly sure it's messed up still). It's not fixed for pre-Ghost vehicles or deemer guidings.