Hi Neil,
my first suspicion: Windows resource inheritance, from the beginning, 3.0. You mentioned an unexpected coloring, this inspired me.
Once one had to register a color palette, usually in the first shell, silently providing its properties to all children, created later in the execution path of the program.
So as you remove such a shell, all silent consumers become suddenly unsupported.
My tip: just look into any such resources provided by the shell which is going to be removed and care about to cover possible deficits elsewhere.
It does not have anything to do with the functional OLE support, which has to go. Look into open widget events or widget creation blocks while creatign the widget hierarchy.
This happens even below the Abt layer built upon that. That once was a windows builder area before.
If you could move the palette handling elsewhere (even if such a place is to be hidden again), the OLE part can go.
This behaviour or principle once was important, having very scarse graphical resources (in the hardware), which became more or less irrelevant.
Kind regards
M