I think from a code perspective it would be easier to do the following check...
First, when you buy a ARX ship, on spawn, a ShipID is assigned to it that will always be the same. I think this is already the case to be honest.
New procedure: All modules are tagged with the ShipID variable they came from and the fact that they are 'free modules'. Therefore, they can only be sold for 0 and the game knows which ship they came from.
When you redeploy a ship, the following check is made:
If ShipID matches ANY ModuleInStorageShipID, do not allow redeployment. Also, if ModuleinStorageShipID is tied to an arx ship, do not allow the module to be fitted to any other ship.
This would allow people to engineer and store their original modules, but not sell them or use them on other ships, and is pretty straightforward from a variable sense (I know I skipped a few additional necessary definitions, but meh, you get the idea).
I know it's do-able but you just
know that's going to lead to all sorts of "why can't I deploy my Arx-ship???" moaning... especially if it turns out that one of the generic cargo racks from an Arx-ship is now bolted to the Cutter that you abandoned in Colonia when you got a shiny new PC2.
I recall, back when ED was new, there was an exploit where you could strip all the modules from a ship, sell them, sell the carcass of the ship and get
more credits than the ship cost originally.
I'm guessing that was one of those "learning experiences" that was character-building for FDev and now they're wary of creating a similar situation again.
Obviously, they
can just set the value of a module to Cr0 and nobody can get rich from deploying a ship and stripping modules from it but, if you have a bunch of Arx-ships in your fleet it, basically, means you have a fairly large stockpile of modules you could make use of, to outfit other ships, wherever and whenever you needed them... especially when used in conjunction with remote-engineering.
From
there, I suppose FDev could just say "Screw it. let people use modules for whatever they want, given that they've paid cash for the ship they were attached to" but I guess they (quite rightly) realise that's a bit
too exploity.
That being the case, if they
did allow Arx-ship modules to be transfered, as you say, they'd have to implement some system whereby an Arx-ship couldn't be deployed after it's modules had been transfered, or perhaps the Arx-ship would spawn
without the modules that have been transfered, or perhaps the Arx-ship would spawn intact but the transfered modules would disappear from storage or from the ship they're currently on.
Whichever option you choose (other than the "screw it, let people do what they want" option), it's going to be all kinds of convoluted and lead to complaints.
Honestly, I think FDev just made the Arx-ship thing too complicated.
It would have been a lot simpler if buying an Arx-ship just gave you one "free" ship, which you could deploy from any station shipyard, and it'd be treated like every other ship in the game once you deployed it
and (as is already the case) the ability to buy more of the same model from shipyards.
All this "deploy your Arx-ship whenever you want" stuff just creates a load of extra problems.