Selenium webdriver have few limitations, some times code developed on Firefox might not work as expected in Internet Explorer. I got this situation to handle with multiple windows on IE 11. But the code what I've developed on FF is failing on IE.
Here, winhandles method returning correct no. Of Windows on FF. But, IE always returning only one.
1. Change "Compatibility View Settings" check ON in IE browser
2. Invoke "User Account Settings" in control panel and change settings go "Never notify"
Mostly above two steps will solve your problem.
"A good threat is worth a thousand tests" - Boris Beizer