Una sentencia do...while loop va a entrar la primera vez y permanecerá en tanto la condición sea verdadera en tanto que una sentencia while, entrará solo si la condición es verdadera, a mi me suena más como que tu necesitas un while:
Código:
while (result.EOF == false)
{
.
.
.
result.MoveNext
if (result.EOF == true)
break;
}
Saludos