At Mansystems we have developed a testing framework to automate testing via the GUI, see here. This solution allows you to build test scripts alongside your developments and use these scripts whenever you like (in a release, but also when there are platform changes or even daily during developments to find bugs early).
In general I ignore them unless
1) it contains something in specific reacton to an earlier ticket 2) it containts functionality/options I know will make the cleint(s) happy 3) it makes my live as a developer easier
I try to keep up with new releases. First I perform an impact analysis to see what breaks and what API calls are deprecated. Then I decided what to do. When the new features or fixes are valuable then I plan time, otherwise I wait for the next one. And when I go for a new release, I often wait for the .1 version of it. When 5.x.0 is released I start the upgrade and the final upgrade is with version 5.x.1.
We usually never update to a ..0 release, most of the time a ..1 variant will be released with some bugfixes.
Furthermore we also check if an upgrade is actually benificial for us, and if the client wishes to invest in this. I personally do keep up with them and try to do 'something' with each version to get a feel of the changes.
To see if everything still works, we usually just to that: We check if everything still works. It might be time consuming, but I always like to think you could run in to things you'd otherwise miss.
Still it's something you should have a good feel with, and the client as well ofcourse.