I tried to reproduce your issue by creating a script that starts a timer and then randomly pauses/restarts it until it ends:

Code
test {
  %count = 0
  timerA -h 100 100 test2
  timerB -h 0 250 test3
}
test2 {
  inc %count
  echo count: %count
  if (%count >= 100) {
    timerA off
    timerB off
  }
}
test3 {
  var %v = $rand(0,100)
  if (%v < 50) {
    if (!$timer(A).pause) timerA -P
  }
  else {
    if ($timer(A).pause) timerA -r
  }
}

As far as I can tell, it's working correctly.

Did you add debugging information to your script, eg. using /echo, to see what is happening and when the timer starts/stops/pauses/is triggered?

If you can provide us with a small script along with a step by step description of how to reproduce the issue, we can then test it out to see if it is a bug or an issue with your script.