How to debug a rule that doesn't want to fire?
Flag Module

"User on whose behalf to flag" will not be ignored in this case.

When a flag is global, users don't necessarily have the required permission to toggle it.  Be sure that the user role is allowed to flag or unflag the flag in question.

A nodes 'published' status is a good example of a 'global flag' (though it has nothing to do with the flag module.)  When published is TRUE content is visible, when FALSE it's hidden.  Though the flag is global, only those with the 'publish content' permission can toggle it.  The Flag module works similarly.



Rules Module

Rules has a built-in debugger that is useful at times.  It can be found at admin/config/workflow/rules/settings



I generally end up falling back on dd() or dpm() though when debugging rules.  Rules is an incredible module for sure, but debugging at times can be a pain.