What version of the DataSocket control do you have? I haven't seen this behavior before, because usually as long as you set your DataSocket connection to ReadAutoUpdate (if you want it to automatically update you have to use the auto modes for connection, otherwise you have to explicitly update the connection with the Update method) the OnDataUpdated event fires pretty flawlessly, no matter what datatype you are using.
I have included two .vbp projects for you to run on your machine to see if you experience the same behavior with them. Just run them both and the server on your localhost, type some text into the one with the Send button on the front, push the Send button, and the other app should automatically get the string written to the socket.
This is a
good example of the scenario you presented, and can be altered so that possibly a timer's events are used to dictate when data is published, but the concept is the same. One thing you should keep in mind though is that event handlers in VB are generally synchronous and are called in order of their events occurrence, so if you are inside of a timer's handler or another handler for to long, other handlers may act abnormally because several events have queued up in a row before they were handled, such as the OnDataUpdated one could be doing.
So give the two projects a try and see if you notice anything different about them and your app.