Sorry, but this isn't currently possible. SetDataLabels will change the labels on the chart object, but there is no way currently to update the XlsFile with the changed chart object. (There should be a "SetChart" methods besides a "GetChart" method for this to work).
The reason for this method missing is that when we were about to add an API to add charts and modify charts, Excel introduced xlsx and all our focus changed to that.
Right now as xlsx support is basically complete, we are working in FlexCel 7 which introduces chart rendering, and it will have the ability to create charts from scratch and modify them as you wish. But this FexCel 7 release is being a huge amount of work, much more than anything expected, and we aren't yet in a position to tell you an estimated date for it. In fact, as FlexCel 7 is already very delayed, it is looking more and more likely that we will release it when xlsx chart rendering is ready, and delay the API for writing charts to 7.1 (so people who only cares about xlsx chart rendering doesn't have to wait until we finish the chart API, APIMate, etc)
Please check below my example, our DataLabels have not the best positions, we would like to try make something to move them somewhere else.
As I know, it is not possible to change runtime DataLabel location (at least my test case was not working properly), maybe you can advise how to proceed. AI Bots say, “TShapeProperties” should be used, could you please point on some documentation article?