Active means the Handle has received a timer (same as your definition of valid) but not executed yet. The moment it executed it will be not active anymore except if it is looping. This is I believe what you wanted.
0 false false
3 true true
3.001 false true
13 false true
13.001 false false
IsValid is used for object reference check. IsTimerActiveByHandle is used if the Timer Handle is valid (active). Try it in your case.
Also I think your are confusing the name ClearAnd Invalidate TimerByHandle. Name should
have been ClearAnd Deactivate TimerHandle for consistency.