bien pero fijate que en la linea enviar = envia.Text estas igualando el estado del commandbutton(que es un boolean) al contenido de un textbox, por lo que si el texto de "envia" es distinto a un valor booleano, vas a tener un error(aunque no creo que sea el que mencionas)
Tal vez no estes dando suficiente espacio al buffer de envio del MSComm1, fijate en eso.
probaste haciendo:
Private Sub enviar_Click()
var = send.Text
info.Text = "Enviant " & vbclrf & var & vbclrf
var= var & envia.Text
MSComm1.Output = var
End Sub
Saludos!