Using rve->Controls[] is not a good method for controls enumeration.
Cell inplace editor is also included there, but controls in this editor are not included.
The changed example is below.
It uses EnumItems() method. This method calls the specified procedure for each item in document.
As for reading text at the moment of RVF loading...
rve->GetCurrentItemText() cannot be used there.
This method returns text of the item at the position of caret.
When RVF is being loaded, caret position is undefined (document is not formatted yet). Calling rve->GetCurrentItemText() at that time may cause exception. In any case, the result is undefined.
Unfortunately, there is no way to read the control text in this event, because this event does not have RVData parameter (this method was introduced before introducing "RVData" concept)
My initial post had a mistake with calling GetItemText not for RVData, but for the editor.
I fixed it immediately, but probably you used the wrong version.