If me or a robot crawl our website, visit a page in another language (for example domain.com/es) and access again to basic language (domain.com) without clicking on french flag but browsing the website, everyhing is still in espanol.
It will be possible to write a plugin which will redirect based on cookie. However, can you check with Google webmaster tools about the duplicate content? I think that the tool you are using is making a wrong decision based on cookie.
For as long as we use GTranslate we never had issues with duplicate content, because Google and other search engines know that two language code in URL means different language and treat it differently.
If you want you may use canonical URLs as I already mentioned, so when you have a language selected you tell it without redirecting that the correct URL for the page is with language code. Or you can write a script to redirect to a correct URL based on language code.