I'm finding it hard to follow the code, I more used to C# nowadays, but I think your timers are just never getting enabled.

The timers only ever seem to get enabled in Check, which only gets called by OnDataReceived, which would only get called if DataReceived was called, which will only get called if you successfully receive some data.

If I put this in the cmdConnect_Click code:

tmrOut439.Enabled = True

Then the timer fires successfully.
_________________________
Remind me to change my signature to something more interesting someday