My personal preference for a solution like this is to build a checkbox field which evaluates the conditions that define "modify" versus "view" permissions. For example,
If(User() = [Record Owner] and [Status] = "Closed",true,false)
Then I would use that formula-checkbox field as the ROLE permission controls for that table in the MODIFY column across ALL Roles (except Admin). This way, you have a control point that is easily modifiable (formula field) which will affect all roles immediately the same way; rather than coding those criteria in manually on every Role for that table.
------------------------------
Laura Thacker (IDS)
laura@intelligentdbs.com
(626) 771 0454
------------------------------