Cameron,
we have implemented, with our consultants, what you described.
We have two types of attributes: global and local and have also 7 views (design, manufacturing and 5 for each division).
When a user change an global attribute in any views, a listener catch the action and send immediately the update to our ERP.
If a user update a local attribute he/she has to manually send it to ERP.