Unless I'm mistaken 'End' and 'End on room exit' both stop the character script from re-running once the player has left the room.
The difference is that 'End on room exit' allows the character to do more stuff until the player actually leaves. For example, you might want the character to walk off once the room is conquered. If you just say
Wait for clean room
Speech "Fine, I'm leaving forever now."
Move to (0, 20)
Disappear
End
then if the player leaves before the character does, the End command is not reached and the character will be back if the player re-enters.
Better is
Wait for clean room
End on room exit
Speech "Fine, I'm leaving forever now."
Move to (0, 20)
Disappear
Then the character will be gone even if the player leaves first.
====
13th Slayer - if you are seeing something that you think is wrong, then you should attach the hold/room/script in question. It's hard to say what's wrong otherwise. :
)