O TCriticalSection pode ser usado no seu caso sim... mas por não ser um programa multithread talvez a aplicação congele...
Mas se não é uma aplicação multi thread como você consegue ter chamadas simultâneas? TTimer? [As partes desta mensagem que não continham texto foram removidas]