Rules triggering rules - how to enforce or disable it There are many situations in which a rule could trigger another rule.  For example, If I have a rule that reacts to a Node being created, I can trigger that rule with another rule that created a node.  The same should hold true for flagging nodes, but I have seen cases in which it does not.  I have written 'single flag enforcement' rules that are triggered by a node being flagged, which un-flag all nodes flagged by that user, then re-flag only the triggering node.  This rule should trigger itself over and over infinitely, but it does not.   How does Drupal's Rules handle these situation?  Is there a way to force rules to allow or disallow this form of cascading rule triggering (and potentially cause/prevent an infinite loop?)
It will not trigger recursively, Rules has inbuilt mechanism to prevent this. if you check the function rules_element_invoke_component you can see this.

function rules_element_invoke_component($arguments, RulesPlugin $element) {
  ....
  // Handle recursion prevention.
  if ($state-&gt;isBlocked($component)) {
     return rules_log('Not evaluating @plugin %label to prevent recursion.',  $replacements, RulesLog::INFO, $component);
  }
  $state-&gt;block($component);
  ....
}