One thing that hasn't been mentioned but may be the problem is the heat generated by the exhaust. I have had this problem in the past, basically the starter gets hot and won't work properly, a heat shield can help with this.