ciao microz, il mio problema l'ho risolto semplicemente perchè dopo la pagina principale mi caricava anche delle pagine non visibili, e quando andavo a leggere il document non ero nella pagina buona.
ho risolto che ad ogni DocumentCompleted che intercetto vado a leggermi l'url relativo e quando è quello buono salvo il Document in una variabile "globale" del tipo htmlDocument.
con gli iframe non ho avuto a che fare ancora, ma con htmlWindow.frames dovrebbe darti la collection dei frames e iframe, se non sbaglio.
spero di esserti stato d'aiuto, ciao.