何となくコールバック登録のタイミングの問題のような気がする。

Socketは使ったこと無いけど、
IrDAでイベント受信したタイミングにコールバック登録しても動かないのがよくあった。
Timerか何かでちょっと待ってからコールバック登録してもダメ?