Load Timer2 , Reload 'Offset
End If

Das scheint das Problem zu sein. In der ISR wird der Timer nur dann wieder geladen, wenn Count=1000 ist.
Der Timer muss aber immer in der ISR neu geladen werden. Am besten gleich zu anfang, damit es mit den errechneten Zeiten noch passt.