I can think of a few ways you might try solving this. If I'm understanding your situation, it sounds like you might need a rule required expression to not fire if the temperature was already adjusted upwards. Is there a period of non-activity where you want to adjust it downwards?
For what you described so far, it sounds like adding an if-then statement after your delay would work (don't forget to add the end-if). The logic I would use is if the sensor is no longer active, then exit the rule.
It's also possible to enhance your delay logic to use a "wait for event" instead. This would allow for stopping if the motion sensor sends a non-active event at any time during the delay. If the "wait for event" rule that gets that non-active event it will interrupt the 5 minute wait, and then the if statement following it would exit the rule immediately.
One trick you probably need to account for though is that the rule can fire off multiple times. Because you have delays in the rule, you might want something to prevent it from running again should the motion sensor fire another active event while the rule is already running and waiting in the delay action. For this case, you might do this through a hub variable (e.g. Room1TempEvaluationRunning as true/false). You can then use a required rule condition (Room1TempEvaluationRunning = false) to prevent more triggers -- just make sure you set to true when you start the rule, and false on all exit paths.