I finally found the problem. This seems to be one of those rare cases when multiple small effects work together and create a big mess.
in my case, I had a TFrame embedded in a TForm containing a TVirtualStringTree. Somehow, in the frame source file (.lfm) in the definition of the TFrame the following property got set:
At design time, a Frame doesn't have a parent, hence the problem.
I also found out that there is some recursion/inheritance behaviour, sometimes (not always!) setting this property in a subcomponent (a TVirtualStringTree) contained inside the frame would give the same messages and crashes.
There must be more to this however, because if you try to set ParentFont to True using the IDE in the current Lazarus version (2.0.12), it won't accept it, you may set it in the GUI, but as soon as you save the frame the property gets silently reset to False. However, there must be a code path around this, since in my lfm source file this property was set to True. For my testing I fell back to modifying the .lfm using a text editor.
More experiments with this property revealed alarming behaviour of the IDE, the effects of this property (and probably similar other properties) beeing set were all sorts of arbitrary crashes of the IDE, sometimes vaguely pointing into the right direction, but most often not.
May this help someone in the future, so the two development days wasted on this issue may be beneficial to someone else.
Armin.