Does your code call invalidateProperties in the data setter?
Yes. When I've inspected the two different renderers, the default one's validateProperties is called from LayoutManager/validateClient. On mine, obj is always null in this code block, so validateNow isn't called:
obj = ILayoutManagerClient(invalidatePropertiesQueue.removeSmallestChild(target));
Anyone have any ideas? This still has me stumped.
Not sure how I missed this, but listData was getting called on change, though data and validateProperties weren't.