TFPTimer does the (same) job *period*
Oh, yes, I fully understand this. My issue isn't that I can't figure out (or craft) a timer that works in my code within my project, my problem is that I've discovered that some component authors, even when making non-visual components, themselves used TTimer instead of TFPTimer. In their defense, they probably weren't thinking about the widget set or that TTimer had no background support in nogui situations.
The problem when using these components in a nogui environment is that they are a mine field. Your project will compile, and often it will at least partially run with no errors. It's only when one of the non-visual components you use itself tries to make a TTimer class go active that you get an exception. And sometimes the functionality that makes the component do that is a fringe functionality that may not be obvious or even tested for.
Anyway, rather than have to curate/port every non-visual component I ever use in nogui, I updated the nogui interface with timer support in my installation. It's interesting you brought up TFPTimer, since that's what I used (slightly modified) for the support. Patches are attached in case anyone is interested. It would have to be cleaned up to be used widely since I ruthlessly cheated with TFPTimer to make it work.