The way ticks are internaly calculated from timestamps causes problems with RDB$TIME_ZONE_UTIL.TRANSITIONS, as well possible (but unlikely) problems with timers.
select * from RDB$TIME_ZONE_UTIL.TRANSITIONS('Asia/Calcutta', date '0001-01-01', date '9999-01-01');
The problem is that old timestamps ticks are negative and the time field is unsigned. When a negative field is used with % operator it produces negative result that is stored in time. In ExprNodes.cpp that is somewhat workarounded, but the code is also weird.
Timers are unlikely to be affected because from this moment to the future the current_timestamp is positive, but if clock is reverted it may be problematic.