The problem is that the law has not kept up with software ownership. If Tesla flagged the car for wheels removal, but shipped it out to an auction with more expensive wheels than advertised, then the car was sold and Tesla sent a ranger to swap someone's wheels while parked at work, that would be clear theft, not "repossession". Same should apply to software, if you sell the car with it, you should have no right to remove it just because you meant to do it but didn't get around.
This somewhat misunderstands how software works here though.
The "software" is on the car. Always.
When you buy FSD they don't "send you the FSD software"
They set a flag on the back-end system (THIS VIN HAS FSD).
When that info is pushed to the car, it just sets a flag "THIS VIN HAS FSD"
And the computer allows the FSD software on the car to be used.
When FSD is "removed" they don't delete a bunch of software.
They just set a flag on the back-end system (THIS VIN DOES NOT HAVE FSD)
Then when that info gets to the car, it unchecks that flag, and FSD features are no longer accessible.
Everyone gets the same software on the car- only the config file enables or disables certain parts of it. This is why if you for example buy Acceleration Boost, it doesn't require downloading anything-- it just requires waiting for the flag on your car OWNS AB or whatever to get set- sometimes this happens almost instantly after purchase, sometimes takes a bit longer.
There are 2 ways to "fix" this disconnect.
1) Every time the car computer boots, it pings back to Tesla to verify its config file locally stored. This isn't ideal, because the car doesn't have connectivity on every boot necessarily, plus it wastes bandwidth Tesla is paying for.
2) Every time the config is changed in the back end system, the back end automatically initiates a push of a new config to the car IMMEDIATELY. And it keeps retrying until it gets an acknowledgement from the car it was received. And
the back end also flags that VIN that it can not be sold until it update has been acknowledged by the car
That 2nd is the right way to fix it- but requires some IT work on Teslas end they're either unwilling, or unable, to do years after this issue first came up.
The immediate-push thing we KNOW they can do- because they do it for acceleration boost. So they'd just need a tiny bit of work to make it do that anytime a feature is REMOVED on the back end.
The "block sale until above is acknowledged by car" bit is potentially the hard part.
It wouldn't surprise me if the current IT back end is so fragmented they CAN'T do this fix because the system flagging features/sending updates is unrelated to the used vehicle sales system for example.
This has nothing to do with the law, it has to do with bad internal IT.