@jjacobs: First off I fully agree with gerald_clark, don't make it too complicated for yourself. I'd suggest you follow his advice.
Furthermore here is my take of what might have gone wrong or where you've confused yourself:
(1) '/opt/bootlocal.sh' is to start system wide (i.e. not user specific) processes at boot time. An entry like restore=UUID=... is certainly wrong in this file. That is a boot code that you either manually enter at the "boot:" prompt, or include in the boot loader configuration (e.g. 'menu.lst' for GRUB, 'grub.cfg' for GRUB2, 'extlinux.conf' for EXTLINUX, ...)
(2) During the boot process TC scans the available hard disks (and USB pen drives) in an attempt to find a '/tce' directory. IIRC it takes the first one it finds. So if you only have one across all available devices you won't need a boot code to guide TC. If you have several 'tce' directories (e.g. to boot different versions of TC and / or using different sets of extensions) you'll need to supply this "guidance".
(3) Likewise the 'mydata.tgz' file is expected to be located in the 'tce' directory. It will be restored automatically provided it can be found. Again if you've got only one in your one 'tce' directory you should not need the guidance via a boot code. To avoid restoration you'd use boot code 'norestore', but that appears to be the opposite of what you try to achieve. Check the content of '/opt/.backup_device'. If it is empty your 'mydata.tgz' file was not found. Similarly the content of '/opt/.tce_dir' tells you where TC found the 'tce' directory. If it still reads '/tmp/tce' you are in "cloud" mode, because no 'tce' directory was found. Don't try to alter the content of those files yourself, I'm just trying to give you some idea for troubleshooting.
(4) Adding an explicit backup instruction into '/opt/shutdown.sh' is in my view not required. AFAIK this file is called by '/usr/bin/exittc', which in itself is the GUI "logout" tool. And this tool has the default setting to execute a backup at shutdown, so you are just forcing TC to perform two backups immediately following each other. BUT this does not protect you from the "risk" of not having done a shutdown before you use something like sudo poweroff or sudo reboot. In this case you'd still have to execute a backup yourself if you want one (via filetool.sh backup).
(5) Using a UUID instead of a device name is recommended mostly when the 'tce' directory is on a movable device like a USB pen drive. Taking it from PC to PC might mean that the respective device name is different on the different PCs. Therefore the UUID (or a LABEL) is a good way to still identify the "location" of the 'tce' directory. A fixed hard disk will most likely not be moved around, so one could safely use the device name (or rather the partition name like 'hda3').
So again, do what gerald_clark suggested: boot ONCE with boot code 'tce=hda3' and TC will prepare the backup file and set things up to store your extensions in '/mnt/hda3/tce'. Afterwards you should not need the 'tce' boot code any more since TC should be able to find it automatically.
As alternative to backup / restore you could use persistent 'home' and / or 'opt' (e.g. also on 'hda3'). But this should better be another phase after you've become more familiar with TC. So don't try it all at once. The thought of "crawling before walking" comes to mind ...