It's definitely an issue at runtime. There's nothing stopping the program from using a variable preset, then setting that variable equal to something invalid (e.g. INIT or MOVE or MATH or whatever).
Designer can validate a constant preset to make sure it is positive before downloading it to the PLC. But if it's a variable, that means it's a runtime decision, which means that the program or HMI determines that value.
If you are using an HMI to enter a variable preset, and the HMI allows you to enter a negative value for a timer, that's not good. Make sure the HMI only allows valid entries for a specific value. Most HMI's support some kind of range validation on a specific field/tag.
If you mis-use a register for your Timer Preset (e.g. it's an IP Address), even if the value was valid, your timer won't work correctly (e.g. 10.0.0.1 is a valid Timer Preset, but I doubt that's what you want your Timer timing to).