1) Some data is missing that is needed to create the annotation. If the base annotation is defined, but the table that holds the specific annotation type data has nothing in it (i.e. it's a stamp but the StampAnnotations table doesn't have an entry for it), then the annotation would fail to be created.
2) The blob data is invalid in some way. Perhaps it has an invalid size or the point count is 0. The first eight bytes is the number of points for the first segment, and the next eight bytes is the stroke width for that segment. So you could look at those values to see if something is wrong with the data.
You can certainly delete the data for that annotation if it doesn't show up as that won't cause any harm. If you want to investigate this further to see what is happening, you can either share a backup file with me or export that song to a .msf and I can debug the song initialization to see what is going on.
As a follow-up for anyone that sees this thread - with chord pro or text files, the number of pages is dynamic based on the font size and other text display settings. In the example shown in this post, the annotation had been created on the third page, but the chord pro file was reduced to just a page or two, so the annotation appeared to vanish, but if the text size was increased and there were three pages again, the annotation would show up.
My work flow is to maintain songs (ChordPro files) on the PC and transfer them to MSPro on Android. During gigs and rehearsals I make notes (annotations). Later I transfer the database to PC and use an (SQLite based) tool to report the songs that have annotations.
I process these songs on the PC (transpositions, lyrics and chord fixes, etc.) and transfer the updated ChordPro files to MSPro. There I inspect the changes and remove the annotations.
So in my setup, under normal circumstances no song will have annotations.