I can see why this is frustrating, but it's also expected behavior. I can't think of any calculation that uses one of the Get functions that will update unless the field is also specified as unstored.
Unstored calculation fields can be used in some relationships, but not in others. Example:
ParentTable::cAccountName = ChildTable::AccountName
cAccountName can be defined as an unstored calcualtion: get ( accountName ). ChildTable::AccountName can be defined to auto-enter the current account name when the child record is created. If you place a portal to ChildTable on the ParentTable layout, it will display all ChildTable records created by the current user's account even though the calculation is unstored.