In several Old versions, Acheron simply had 0 movement points but could move if he purchased mobility.
In at least one version, Acheron had movement points but was DOMAIN_IMMOBILE, and so could never move, no matter what.
I believe there was at least one version where Acheron simply had a special UNITAI that would never let the computer move him, and would make him immobile if you tried to automate him but let him move if you controlled him manually.
When Acheron was changed to start with the held promotion it did not wear off, and so had the same effect as being DOMAIN_IMMOBILE. I think held used to work by making the unit DOMAIN_IMMOBILE, and never actually subtracted movement points. Soon after that it was also changed to block casting, so that units in cages could not free themselves. (Domain immobile units can still cast, but those immobilized by the held promotion or held timer cannot.) It was then changed so that the Held promotion is removed when Acheron is captured, which is how it works now.