This is incorrect, Exeggcute had the same "once per turn" clause and could be used infinitely. Once the Pokemon is put back into the discard it's treated as a new Pokemon since you can't keep track of which specific Giratina has already used Torn Door. I'll put this here to prove the Exeggcute...