События таймера выполняются в главном потоке приложения.Я не уверен насчет событий TServerSocket (возможно, это вариант конфигурации).
В общем случае: если оба доступа выполняются в главном потоке, критический раздел вам не нужен, поскольку другое событие может сработать только при первомсобытие уже завершено (если только вы не вызываете Application.ProcessMessages, который вы не должны делать в любом случае).Критическая секция не будет работать в этом сценарии, так как она будет синхронизировать только отдельные потоки.
Если они работают в разных потоках, вам нужна какая-то синхронизация.Один из вариантов - критический раздел, другие включают мьютексы, спин-блокировки и т. Д.