This is a misconception about how Excel's ActiveX interacts with the VBA.
See
this[
^] for a detailed explanation about that specific software and "losing" events.
As far as Java->Sockets, that's a matter of opinion and really lacks context in the web page you are referencing. From that page alone, I would not say its the "best" way of doing anything, it may be better in certain situations, but others it may not.