I agree with the above posts regarding testing to see where he really is academically. However, I don't think I would consider holding him back a grade unless you could change schools completely to give him a fresh start. If he's already having social troubles, being held back would only add to his troubles with the other kids and make him feel worse. If he could start the same grade over in a new school where nobody would know he'd already been in 5th grade before, especially given that he would be the correct age for it this time around, I think it would be a lot better for him.