I guess you have several questions in one...
AFAIK RTC uses a thread pool, for better scalability and less resource use. So you can not assume you have one thread per client.
It is always preferred to place your logic in a datamodule, and NEVER in a main form: do not mix UI and server - for instance, it could make sense to host your server in a service, on production.
If you are using ZeosLib, the connection pool you are talking about has nothing to do with the ZDBC connection pool.