I understand that time(0) is commonly using for seeding random number generators and that it only becomes a problem when the program is being run more than once per second.
You can store random seed on program exit and load it on start, so you'll need to initialize your RNG with time(0) only on first program start.