We had a similar problem when I started my current job a little over 3 years ago, our lead developer was a cowboy. He was really smart but very erratic, some of his stuff was very well documented, but so overly complicated it was imposable to maintain, or code first and figure out what he was building later, he would throw out code to see what would stick.
He left about 2 1/2 years ago, and it's still haunting us when we find some of his old code, and in his defense that's how the development shop here was run back then, in the last 3 years I have been on a crusade to change that mentality.
When you become a star developer it stops being so much about how well you know the system, code, framework, architecture, etc. and more about
- Writing elegant, maintainable, flexible, readable code
- Working with the rest of the team: using source control, leading by example, etc.
- Documenting what each method, class, object, etc is doing
- Researching new and better ways to do things for yourself, and your team
if your not following all four of these at some level your not a star developer, more so if you refuse to try/learn to use them then it's time that that should find other employment opportunities one way or another, I hear starving artist is popular with this time of person (the whole misunderstand genius thing)