Any changes really that will be hell lot of information.
Write those changes into a table.....an external table you mean? How could you do that if a user is adding 50 records to a Page-List into your WorkObject within the BLOB?
All changes done by users and also by the system itself? When the SLA past for example you have to record something about it?
All that sounds very difficult, I guess you could create copies of the WorkObject at some stages and compare with the original one to get the difference but saving into a table will be quite a lot of custom work anyway.