I'm having a similar problem! I am in the process of creating a new site (WordPress 3.7.1 with Zeefocus theme)in 4 languages. I have several pages set up, and qtranslate plugin installed, as well as qtranslate Slug. The 4 flags appear correctly at the top right of the site, and if I click on any one of them from the home page, all works fine. In other words, it switches from localhosy/mysite/en to localhost/mysite/es to localhost/myslte/fr, etc...In each case the navmenu is correctly translated, and if I navigate to any of the pages, they appear in the correct language, and the URL is also correct. For example, if I am in the Spanish option, I will get localhost/mysite/es/contacto or localhost/mysite/es/montaje, etc...However, if I try and navigate from any of these pages to the same in one of the other languages, I get a 404. In other words, if I am in localhost/mysite/es/contacto and I click on the French flag, the URL that appears is localhost/mysite/fr/contacto, which of course doesn't exist since that language's url is localhost/mysite/fr/contactez-nous.
What is happening is that every time one exits a page in a certain language, it seems to keep that last language in the url (also seen on the href links for each flag).
Does anyone have any clue about how to solve this??
Thanks a lot for any help.