Since Harry didn't actually put his name in the Goblet of Fire, is it possible that he wasn't actually magically bound to compete?
Dumbledore didn't contradict Crouch's insistence that it was magically binding, but then again, Dumbledore let Harry take a lot of risks over the seven years in Hogwarts. And it is a little bit hard to imagine that magically binding contracts can be forced without consent.
‘Finally, I wish to impress upon any of you wishing to compete that this Tournament is not to be entered into lightly. Once a champion has been selected by the Goblet of Fire, he or she is obliged to see the Tournament through to the end. The placing of your name in the Goblet constitutes a binding, magical contract. There can be no change of heart once you have become champion. Please be very sure, therefore, that you are whole-heartedly prepared to play, before you drop your name into the Goblet. […]’
I have asked the same question and this is the answer:
It is called the Triwizard Tournament for a reason, meaning only three schools compete, one from each school.
But as no one knew (not even Harry) that Harry's name was put in the goblet by an interschool teacher who had also put Harry down as the only entree into the tournament of a fourth school, as the goblet is completely unaware that Harry was in fact from Hogwarts and none of the others, it recognised his listing as a fourth school and so it selected Harry to compete despite the rule proclaiming only three schools to compete.