Erik,
>Does polling IE.ReadyState <> 4 make a difference?
I'll give it a try. Right now I can have two lines of code fail, then retry and it works! So it's clear to me that the IE DOM has a couple of faults. For example:
loDoc = thisform.oBrowser.Document.Frames(3).Document
=Sleep( 1000 )
lcMap = lower( loDoc.Body.InnerHTML )
j = loDoc.Links.Length
Without the Sleep fails, the lcMap memvar does hold the message map content, but Links at times doesn't eval to an object. My wait loop is doing doevents which should be giving IE a chance to do its thing.