The tunnel does have a lifetime associated, and it will go down after that lifetime, regardless of how often packets are flowing across it. The tunnel should be automatically brought straight back up and no-one is the wiser.
There is a "connect manual" command in EzVPN Phase II that'll make the remote router wait for user interaction before bringing the tunnel back up when it expires, do you have this in your config?
http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122newft/122limit/122y/122yj/ftezvp2.htm#1152261
Other than that, why don't you ping an internal host with your script, rather than the WAN interface? Pinging the WAN interface will tell you if the router or link has died, but won't tell you if the VPN is up or not.