We've come up with a temporary solution to this which appears to do the job for now (as in, it is in testing). It involves adding a DataFlex object (non-visible) within the docking pane control and making sure that as the pane deactivates (loses the focus) we temporarily send activate of this non-visual control before re-establishing the correct focus once more. To make proper sense of this you need to have seen the code, but basically it is along the lines of...

    Object oDisplayContainer is a Container3d
        Set Size to (Hi(Size(Parent(Self)))) (Low(Size(Parent(Self))))
        Set peAnchors to anAll

        Object oFocus is a Form       // << added this DataFlex object to the Container3d
            Set Size     to 10 10
            Set Location to 1000 1000
            Set Visible_State to False 
And then within the Docking Pane object we've added

        Procedure OnComAction OLEDockingPaneAction llAction Variant llPane Variant llContainer Boolean  ByRef llCancel
            Handle hoFocus
            Forward Send OnComAction llAction llPane llContainer (&llCancel)
            If (llAction=OLEPaneActionDeactivated) Begin
                Get Focus of Desktop to hoFocus
                Send Activate of (oFocus(oDisplayContainer))
                Send Activate of hoFocus  
Again, this isn't the real code that's been added but it illustrates the point in this example application that Andrew kindly supplied. It's a definite fudge/kludge but appears to stop the crash. As the pane deactivates we get the focus (which is apparently in the correct place anyway), send activate to the hidden DF control within the Pane object, and then send Activate back to where the focus was/should be. But the fact that now the previous focus object is a DF Form control means that the crash doesn't seem to manifest. And of course, it means that we don't have to worry about the location of the suggestion form control (and about it clipping if we make the parent the view and not the main panel)