var/time = Proc_GetTime();
winset(src, "default.ClockLabel","text=\"Server Time: [time]\"");
sleep(600); // Update once a minute.

Problem description:
May not be a problem but I'm trying to track down a potential problem. Is this infinite loop following best practices or is it problematic?
It looks fine. However, naturally, the result can depend on where it's called from and how often (i.e. inside what block you placed it) and the specifics of the Proc_GetTime() proc.
In response to Kaioken
It's called once at world startup and Proc_GetTime() simply builds and returns a string.