That's really good Delete! Keep with him and keep trying to make him see you as a leader. :)
I don't know if you ever did answer this, but is there a trainer in your area you could work with? You don't have to have him/her necessarily train your horse with you but you could schedule the occasional time for them to come out and watch and help give you pointers on things you could do. We can only offer suggestions based on what you tell us but not seeing the horse and his behaviour ourselves we can only guess what the underlying issues are. There may be things you aren't seeing that you then can't tell us about that a trainer standing there would pick up on and could give you the "ahhhh" breakthrough piece of information, you know?
There are things we know we know, things we know we don't know and things we don't know we don't know...... It's the things you don't know that you don't know that get you when you're working with horses and why even the most experienced people do well to work with someone who's been around a bit longer or done a bit more than we have. :)
Keep up the good work!