We are also experiencing the same or similar problems since upgrading several of our web sites to Sitecore 7.1. We have continued to investigate all of the settings mentioned above but have as yet to find an explanation.
This may help, depending on your situation...Sitecore has confirmed a new issue was introduced: when multiple users login with the same credentials, and one of them logs out, all the others are also logged out automatically.
They have released a temporary hotfix package designed specifically for 7.1 rev. 140130. You should ensure your solution is updated to this version before installing:
https://dl.sitecore.net/hotfix/Sitecore%20CMS%207.1%20rev.%20140130%20Hotfix%20405020-2.zip
Use the Install Package Wizard to apply the hotfix. Hopefully this will be included in the next 7.1 Update package.
UPDATE
I continue to have discussions with sitecore support on this issue and although they have not given me a definite fix or patch, there does seem to be a way to increase the timeout. This is not without it's side effects but it is at least an option at this point. I am in the process of testing this out myself but I will share for now and update everyone on my progress.
Change or add the following three settings in your web.config (in the example below the timeout is 2 hours):
Client Timeout
<setting name="Authentication.ClientSessionTimeout" value="120" />
Forms Timeout
<authentication mode="None">
<forms name=".ASPXAUTH" cookieless="UseCookies" timeout="120" />
</authentication>
Session Timeout
<sessionState mode="InProc" ... timeout="120" />