rafi, I do not restart my uT or even entire "server" for weeks or event moths.
I started to do daily backups some time ago, but uT is just a faulty software and even if it puts aside resumed.dat as resume.dat.old it's still not something that can be used in case of failure. Unfortunately uT is not an open source project so I can't change the code ;-)
I changed my approach and wrote another script to stop uT, do backup and start uT again. It works, but only when started interactively from powershell. Due to session isolation in Windows it doesn't work properly when run as scheduled task. You just can't close gracefully uT from technically different session. So now having improved script i'm will be doing backups from time to time. The script makes it easier, but still not automated. Once a week should be enough.
EDIT: There might be a chance to run the task with desktop interaction. Will keep you posted.