The "sync" Datasocket VIs appeared a while back (LV 5.1) because of problems with Active-X events. The main problem was that datasockets stopped communicating if you clicked and dragged a window. To fix this, the "sync" datasocket VIs were released:
http://digital.ni.com/public.nsf/3efedde4322fef19862567740067f3cc/862567530005f09c862567c2007af1ef?OpenDocument
With the release of LV6, a whole new datasocket function was created. This is the yellow "Datasocket Write" and "Datasocket Read" function. These essentially contained a connect, write and disconnect inside them. Many people dislike these simplified functions because they are much slower (among other problems). These yellow LV6 functions do NOT appear to have trouble with events. LV6
and 6.1 still include the old datasocket functions (not the sync ones), but you have dig them out of vi.lib\platform\dataskt.llb. You can also download the sync vis from the link above and re-compile them for use in LV6.
So... in summary, LV6 has three options for using Datasockets:
1. Old Style Datasocket VIs. Use connect, write, read and disconnect just like you did in LV5.1. But these VIs still have trouble with events.
2. Download and recompile the sync VIs. These are the same as the VIs in option 1 above, but do not have trouble with events.
3. Use the new LV6-style datasocket VIs that are included with 6i and 6.1 ... but these are slow.
http://www.medicollector.com