Generally, they lose them as they age. No way to prevent it and no, they don't regenerate. They're thought to be a type of defense for the juveniles, kind of an added camouflage. The older/larger specimens no longer need them so they come off.
I had one for several years and he only had one of his horns left
funny story about that i talked the LFS into selling it cheap as a "defect" HAHA love it when they don't know anything about the fish they have. :hilarious I mean it's unfortunate for the beginner but great for us "vets" i'm not expert but have been at least keeping SWF for about 6 years now maybe longer. but i'm a newbie to the reef stuff and am just now starting to dabble in that.