I just upgraded to Version 5.1a Build 1445 and the following no longer behaves as it used to.
BO A has the following rule:
If NOT(A.a CONTAINS 'value 2') Then
PROTECT A.x FROM ALL EXCEPT System
PROTECT A.y FROM ALL EXCEPT System
PROTECT A.z FROM ALL EXCEPT System
The initial value for field A.a is 'value 1'. So when a user creates a new A object, fields x, y and z are initially protected.
If the user changes A.a to 'value 2' fields x, y and z should now be editable (in prior version of AwareIM they were) but with the current version they remain protected.
It appears that the protection rule used to be dynamically executed, but no longer is.