You probably covered this in "I have cross checked all the settings", but I'm going to ask anyway.
From How to: Disable Automatic Checkouts
In Visual Studio, on the Tools menu, click Options.
In the Options dialog box, click Source Control, and then click
Environment.
In the On Edit box, select a different option than Check out
automatically. The other available options are as follows:
- Prompt for check out
- Prompt for exclusive checkouts
- Do nothing
Click OK.
Do you have "Do nothing" checked?
EDIT:
If the above setting is correct the next thing I would double check is if the solution is "Online". I have lost the connection without realizing it several times, it is worth an extra check.
To check:
Right-click on the solution name at the top of the Solution
Explorer and check if you have the "Go Online" option