EnumWindows gibt jedenfalls nur Handles von top-level Windows zurück und keine von Childs, und darum ging es doch imo teilweise auch irgendwie, oder? Das Prob tritt also bei den top-level Windows auf, die auch zusätzlich dann noch von 'IsWindow' als Windows bestätigt werden? Hmmm.
...Aber wenn du sowieso EnumWindows benutzt, solltest du eigentlich auch erst gar nicht an ein von dir erwähntes zweites
Handle des Fensters mit dem gleichen Klassennamen rankommen können. Eventuell speicherst du dir ja zuerst mal alle über EnumWindows gelieferten Handles ab und wenn du danach nochmal irgendwie "Handles mittels Fensterklassen (z.B 'IEFrame')" suchst, nimmst du halt nur solche, die zuvor auch schon vom EnumWindows als top-level-windows bestätigt wurden.