Динамически создавать контролы в
во время ран-тайма, к сожалению, нельзя.
Но, если использовать Waveform Graph, то можно создавать динамически курсоры. Примеры есть здесь на форуме, кажется.
Если сделать стиль курсора "невидимым", без линий (не путайте со свойством Visible, оно должно оставаться True, т.к. тогда имя курсора тоже будет невидимое), то можно манипулировать с его именем (свойство Cursor.Name, и его свойством Cursor.NameVis (cursor name visible), по умолчанию оно False, Вам нужно будет менять на True). Также, имя курсора можно перетаскивать по графику во время ран-тайма без "лишнего программирования".
Поэтому все можно попробовать оформить в таком виде: будет график, и отдельная кнопка/контекстное меню по правой кнопке мышки на графике "Добавить комментарий". По нажатию/выборе меню, откроется маленькое окошко для ввода текста комментария. И уже программно, Вы добавляете на график "невидимый" курсор, и юзер может перетащить комментарий куда угодно по графику. Изменяя цвет курсора, будет меняться и цвет текста-имени.