Yep, Jon's pointed out one of the "other ways" this could be done.
Barry - do NOT try the acs_object_party_privilege_map view in a stock ACS 4.2 system! Making that view scale was one of the major changes in OpenACS 4.6.1.
As far as upgrading goes ... I know at least one ACS 4.2 site has upgraded to the 4.6.1 permissions code without ill effect. It's just a datamodel change and is transparent to client code.
It adds a new denormalized table which trades speed for space.