I see what you mean. I appreciate your desire to keep ViEmu as close to vi[m] as possible. I'm not sure about others but I think the messagebox could be done in a way that would work. Here is how I would like to see it.
The focus of the window would have to jump to each instance found because being able to see the context of the instance is important.
The item found would have to be highlighted so you know exactly what you are replacing. The messagebox can't hide what you are replacing.
The messagebox should give you the same options as VIM.
y Yes; make this change.
n No; skip this match.
a All; make this change and all remaining ones without further confirmation.
q Quit; don't make any more changes.
l Last; make this change and then quit.
CTRL-E Scroll the text one line up.
CTRL-Y Scroll the text one line down.
Thanks for considering this.