We are using Salesforce v32 in our app, should we think about upgrading for fear of EOL or anything else?
It's a three year commitment, at least as far as the SOAP API goes:
Salesforce is committed to supporting each SOAP API version for a minimum of three years from the date of first release. In order to improve the quality and performance of SOAP API, versions that are more than three years old may cease to be supported.
When a SOAP API version is scheduled to be unsupported, an advance end-of-life notice will be given at least one year before support for SOAP API version is ended. Salesforce will directly notify customers using SOAP API versions scheduled for end of life.
From what I've seen in the documentation, that's consistent across other services. In effect that means nine API Versions, so as of today the commitment only extends back to v33.0.
Note the wording:
... versions that are more than three years old may cease to be supported.
That doesn't mean they are committed to phasing out old versions as soon as they can. It just means they don't commit to supporting them any more.
As mentioned in the documentation, salesforce.com commits to supporting at least three years worth of APIs. Currently, Salesforce currently supports version 10.0 for the SOAP API, and 20.0 for the REST API. It is likely that version 32.0 will likely be supported until some time in the middle of the next decade, based on past performance, but there is no guarantee beyond three years (meaning, 32.0 is already past its shelf life).
If you're creating a new application, I suggest you use the latest version of the API. This will give you the longest guaranteed end-of-life. For existing applications, you should consider upgrading API versions once a year to keep current. In most cases, upgrading is as simple as changing the endpoint you use, but of course, you need to do testing.