Check with warn. They sell replacement parts, and I'm pretty sure you can buy a new motor through one of their parts dealers. You might try somewhere that rebuilds starters. They might be able to rebuild the motor.
Call this # 9-5 M-F Pacific time. 1-503-722-3009
Ask for Steve Schoenfelder, he is the warranty manager for Warn. That # is his desk #. If he can't help you, bet he can steer you to the person who can. Oops, he won't be in this Friday though.