Weird Dexterity schema/cache (?) problem in ZEO clients

I have a two-client Plone 4 ZEO system where I started prototyping some Dexterity types TTW, and a very strange thing happens: any changes made to the schema TTW (or TTW-developed actual content) are only persisted on the zeo client that was hit.

It's like the changes don't propagate via ZEO to the other client or as if each site had its own local independent (non-ZEO) storage, what it comes to the Dexterity TTW types.

I've not seen the same issue with any other content, including filesystem-based Dexterity types. Have not done explicit testing though.

Both clients are on the same server, ZODB on a different one. Each site is in a different FileStorage mounted at Zope root. HAProxy in front doing round-robin between them. I've checked my ZEO setup down to the actual buildout-generated Zope configs and can find no issue there.

I am somewhat embarrassed having to admit I cannot figure this weirdness out. Any suggestions? What should I check? Could there be something in Dexterity that could potentially be the culprit? Something in the caching setup? Versioning of Dexterity schemas or content?

This was a bug due to caching that I believed was fixed awhile back. What versions of plone/DX are you using?

Thanks @djay. Phew what a relief if that'd be it. Plone 4.3.11, with:

plone.app.dexterity = 2.0.18
plone.dexterity = 2.2.7
plone.directives.dexterity = 1.0.2