I have found the root cause. The Geocaching. I am in Australia and the server is in France. The missing of /user/logout into the apache log warns me. I have tested with a french proxy and everything is ok.
My provider offers Geocaching, the page looks to be cached.
I have purge the geocache and /user/logout works!!
The first hit of a 403 for /user/logout triggers the same problem.
This is easy to understand, when user/logout is success, the answer is a 302, nothing is added into the cache whereas a 403 is permanent so it is stored.
This explains why ?q=user/logout works, it is a query no caching is done.
To summarize deactivate the geocaching.