Hola pepino, es porque seguramente estas enviando dos datos seguidos y cuando pones un msgbox creas una pausa.
te doy un ejemplo de algo que es lo que comúnmente suele suceder.
si envias:
.SendData "Hola"
.SendData "Mundo"
es muy probables que nunca te lleguen por separados, sobretodo cuando es una conexión en una red mas lenta. te llegaría "holamundo" todo junto, entonces lo que tenes que hacer es crear un protocolo, osea una conversación entre cliente y servidor, es decir el cliente primero envía "Hola" cuando llega hora el servidor envía un "Ok" luego el cliente envía "Mundo", y eso te da una pauta que todo llega bien. (también hay otras formas)
pero bueno, si en tu caso son dos simples "lineas/comandos" podes meter una pausa de por medio, y con eso en una red lan la podes safar.
Ejemplo hacer una pausa con el api sleep
Private Declare Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
.SendData "Hola"
Doevents
Sleep 1000 'un segundo
.SendData "Mundo"
pero bueno esto ultimo no es un 100% de garantía, si el servidor esta muy colapsado los datos se podrían a llegar a juntar.