What is very annoying is that if the Oracle database (located on another node) is restarted, the cache agents exits and doesn't restart after the DB is back up. Instead the cache restart policy resets itself to 'Manual'.

No, this is not expected behaviour. Can you please provide the full TimesTen daemon logs (<tt_install_dir>/info/tterrors.log and ttmesg.log) covering the whole period from before Oracle was shutdown with cache agent running through to after the Oracle restart when the agent did not restart.

The logs may be quite large so please ZIP/GZIP them. You may want to contact me off list so you can e-mail them to me.

Just to close the loop on this. The issue is resolved. The TimesTen databases were (unnecessarily) attached to a cache grid. Removing them from the grid and making them autonomous caches solved the cache agent restart issue. Since only readonly cache groups are being used there is little or no reason to use cache grid.