Form destroy problem after D5->D6

I have seen this problem in IBX components, but not in BDE stuff as I never
use the BDE.
You could set the DataSet property to NIL in the OnDestroy or OnClose of the
form, see if this helps, if it does then it is as you say a problem with

I suspect it is, as there is no call to FreeNotification.

Really instead of

FUpdateObject := Value;

If should be

if Assigned(FUpdateObject) then FUpdateObject.RemoveFreeNotification(Self);
FUpdateObject := Value;
if Assigned(FUpdateObject) then FUpdateObject.FreeNotification(Self);

Read or write technical articles

Audio compression components, FastStrings library, DIB controls