Just because a program should run in the background, does not mean it will not print error messages. It just means that you will get your promt back. Also if you close the Terminal emulator, all background process are killed.
By not doing what you did. Create a systemd service, the transmission-cli contains a systemd system service example. It might not fit perfectly, since you want a GUI. Btw, the cli has a web interface.
If you want the gtk version, you might want to create a systemd user service, for your user. This service can be started via a systemd timer, so there is no need for cron after all.
This is a very simple systemd user service which can start transmission minimized. You might want to tweak it to fit your needs.
It can be manually started with systemctl --user start transmission-user.service or via a timer. But it can’t be enabled. If you want to use it, don’t forget to reload systemd with systemctl --user daemon-reload