Tunnels are stateless, so any inactivity timer is normally going to be something in the middle, like certain firewalls. If it doesn't see proto 41 from inside->outside, it might not send it back inside after a while.
As to endpoint updates, if the endpoint matches, it kicks back before even touching the tserv. Usually the place to put that would be in your ifup scripts (if the tunnel is anchored on your gateway system, and therefore would know if your public IP changed), or saving what your current IP is and checking if it has changed prior to making a timed update.
My gateway is running a minimal version of DD-WRT due to internal storage constraints. As such, I've had to throw Debian server on my spare netbook. I've not been able to replicate a scenario where the external IP changes to see if it will notice. I do already have the script on my networking configuration that runs when the network is brought up. I guess what I'll be doing is checking the external IP address, validating it against a cached copy, and then push to the ipv4 update API if a change does indeed happen.
Thank you for the information you've provided!