Ok, you were right - the shared Layout was the root of both evils. As they say, never argue with the master!
I am attaching the reworked testcase which now works in case it's of any interest to anyone. I was also hoping someone more knowledgeable may wade in and tell me if there is a better way to achieve what I want without having to clone/substitute values into the logging property settings (I ended up reusing the Layout illegally originally because I couldn't work out what I should do instead - all the interesting lower-level methods seemed to be package private). But at any rate, everything is working seemlessly now so thanks very much for your help ... and any further advice if there are improvements you suggest I make.
nlog4jtest.tgz
Description: GNU Zip compressed data
