this is a long shot, but when it comes to not knowing what is going on with a fish, if you can isolate it, it is the best. if you have an extra ten or twenty gallon tank, and you can catch him, and just let him hangout in the tank for a week or two, that would be good. then you will know for sure if the problem is internal or external.