I don't know all the details of your solution, but this could work like this:
1. You add id to the point
2. You keep an object with point id's and true/false values depending on the point selection state
3. After a point click (workaround with halo), you set the selection state of the point with id)
Regards,
Jakub