First, every time it executes OnCheck you should disable the timer, to avoid a second call while starting/stooping, and enable it before exit the method.
private void OnCheck()
{
timerChecker.Enabled = false;
timerChecker.Enabled = true;
}
It's not clear to me when isStarted/isStoped change it value, I understand it as MustStart & MustStop. If not, simply start/stop the process alternatively.
You could use one variable only for this function.