in our case, if we want to restrict, then it should be a project option "persons able to approve".
but i would soggest another path: no restrictions.

what if me as a pm has the option to define a filter (or have a pre-defined) "evil actions. including approval ba non-pms.
in my "changes" mail those actions would be marked specially.

wouldnt that be wiki spirit, but also enforcing hierarchy?