The answer is simple, you're right!
What happens is the event gets "reset" every time you reenter the room, going to its starting position.
What you need to happen is to have a second event, one right where you wish the man to end up standing. Have this event be triggered by a switch, let's call it "he moved."
When you first talk to the man and he moves, don't worry about turning that switch on. Instead, put the trigger to that in the teleport. Have it turn on right after you teleport out of the room.
Now what will need to happen is:
The original man event will need a blank page (with it set to "below heroes") and have the conditions be when the "he moved" switch is on.
The new man, who is in the place you wish him to stay, should have a char set to the man, and have conditions also be that "he moved" is on.
Thirdly, make the teleport from the room have a new page, also with "he moved" as the condition, with just a teleport and no switch being turned on.
That way, the event that is in the way will now be blank, the man who moved will be a new event standing out of the way, and the teleport will do only what you need it to from this point on.
Clear as mud?