One more...
Turns out, in the version where things are working(2.0.8/3.0.4), values are also reported wrong by debugger/watches.
But the program must be using other values, than the ones presented when execution is paused.
Did like this.
Open the editor - this creates an object called Settings, which is a TSetSet, which reads its values from registry.
Before Closing - when clicking close button - another TSetSet is created - sSet, and read from Registry.
Same class, same code.
As nothing was changed in the editor, these two object now holds the same data.
The accompanying image shows watches - and data are obviously not the same in the two objects.
What is more, the comparisons that determines if messages are sent, are all true.
So according to values in Watch window (deubgger?) this should result in messages being sent to all other apps.
This does however not happen.
No messages are sent - SendIPCMsg() is never called.
So - even tho this LOOKS all wrong, it is actually behaving as it is supposed to (And I have tested, if I change things. If I make changes, messages are sent, as they should).
And what prompted all of this, was that in 2.0.10/3.2.0 code did NOT behave as expected.
In 2.0.8/3.0.4 it does.