Maybe I should clarify if it helps.
Being lazy I had copied that example code and adjusted it for my needs.
Adjusted the NavigateData variable to pass a few parameters to the view that would be invoked.
Even called "Send SetNavigateData of hoToView NavigateData" but the data was always empty when looking at it from hoToView.

The reason is this code in cWebObject:
    // Private: Callback method sent to the callback control when a view receives NavigateForward.
    // This should populate the tWebNavigateData in the default way according to the control's data bindings.
    Procedure GetNavigateForwardData Handle hoView tWebNavigateData ByRef NavigateData
        // ask the view to load the default data
        Send LoadDefaultNavigateForwardData of hoView Self (&NavigateData)    
        // Send event hook for manually populating the NavigateData struct.
        Send OnGetNavigateForwardData (&NavigateData) hoView
Because of the missing ByRef the data stays whatever it is before calling OnGetNavigateForwardData.
As such you cannot change the data unless you define the variable as ByRef in the method.
It wasn't until I debugged it that I saw why it was behaving this way.