The player restarted with a throw-in. The referee made him redo the throw-in because he wasn’t close enough to where the ball went out. Can’t a player throw in the ball behind that point so he doesn’t get an advantage. Can’t it be 5, 10, 20 yards behind where it went out? Especially when he wants a quick restart instead of moving up to where the ball went out?

USSF answer (November 3, 2008):
No, the throw-in must be taken from within one yard/meter of the place where the ball left the field of play.

Beyond that, the referee’s action was entirely and grievously wrong.  A throw-in cannot be redone because the referee is not satisfied with some technical requirement such as location — although some local rules do allow a retake of an improperly-performed throw-in for very young players.  If the throw-in was not satisfactory and the referee stops play, the ball must be given to the opposing team.  If the referee doesn’t want to do this, the only proper action is to let the infringement of Law 15 go as doubtful or trifling and, at most, warn the player about doing better next time.  In short, if the throw-in is “good enough,” the restart is allowed; if it is not “good enough,” it has to go to the other team.