Ahhh that explains the strange behavior I am seeing. (Basically the old markup is still intact in the database, but when I look through the widget it is parsed out into pure presentational HTML… and if I Save it overwrites the old!
This is truly a terrible shame!
There is one thing we could do, but I know better than to make feature requests to people who already contribute their time to such projects (i.e.: you heh

): have an optional feature to save a JSON representation of the annotation data into a "custom column".
Or make your transient annotation.db less transient/more reliable.
Or bypass the widget and create an Annotations-specific UI / window.
All beyond the scope I imagine you've set for this project.
Thank you in any case. I have gotten great (personal) value out of this plugin for several years. Sadly… that may be over.