Hello Ted,
My answer was based on the subject of the post (“Page number Based on Field”). I still think what you cobbled together is the way to go.
The following may be helpful:
Widget widget = new Widget(field.GetSDFObj()) tends to work for annotations created with our API.
Please take a look at the following post (including both posted answers) for ideas on iterating the annotations of a field: