https://bugs.winehq.org/show_bug.cgi?id=52354
--- Comment #37 from Brendan Shanks bshanks@codeweavers.com --- I took a fresh look at this and...it's the preloader. Specifically, when the Wine loader binary is an LC_MAIN binary (what you get when targeting 10.8 or later), and it's loaded by the preloader, layers aren't refreshed correctly. If you build the loader targeting 10.7 (and get an LC_UNIXTHREAD binary), it works!
I'm pretty sure this is due to LC_UNIXTHREAD vs. LC_MAIN, and not the actual SDK version. I've built the loader targeting 10.14 (so LC_MAIN) and then used the 'vtool' command included with Xcode 11+ (run with 'xcrun vtool') to set the minimum version to 10.7, and it's still broken.
I'll post a very simple Wine patch that just builds the loader with '-mmacosx-version-min=10.7' when the preloader is being used, I still haven't tried it on a 10.13 retina Mac or anything earlier than 10.13. Also, I'll post a standalone test app to reproduce it.