Steve,
In general the way I approach parent-child forms, is to use a Private DS parent form and the child form is set to Default DS. When the child form is launched it will be running inside it's parent's private DS.
You might want to start looking at using parameterized views to display the relevant rows in your child form.
As far as your grid going blank after appearing correct, you should be able to step through the code in the debugger and find where things go belly up.
>Without realizing what I was doing, I had saved the parent form within a formset,
>this was using a datasession. Saved this as a class,
>then through modify class, copied the form's parts to a fresh form.
>Now seems to work okay.