Yes, that's exactly the way I would do it: add a line series with the label texts added along with the x/y values, Marks.Style = smsLabel, ShowLines=false and ShowPoints= false. And set the series' Legend.Visible to false to avoid the "text series" to appear in the legend. There is also no way to center the text to the x/y coordinate specified in the AddXY method, it will always be above or below the point, depending on MarkPositions; the closest you can get is setting Marks.Distance to 0.
While writing this I had the idea that there is alway the OnDrawEvent which fires after the chart has been drawn completely, and you have a last chance to add something to it. And this works also when you are willing to write some code - see the attached demo. One tiny difference though: While in the "text series" method the position of the extra text labels is used for calculating the axis scale, this is not done in the event method.