Main request was to avoid case of race condition that can happen when separating the action (like opening a file) from the query in case of failure (like was file unwritable?), because another concurrent program might have changed the file system status in between (think of concurrent squeak images creating concurrent /tmp/foobar.baz for example).
I have already integrated the necessary VM changes, but it remains to integrate image side changes.
Last time I checked there were unecessary changes mixed that I'd preferred to see discussed here, and the fallback code might not work in older VM, then I came short of spare time...
But in any cases, there are too many .mcz roting in inbox, so I'm glad another pair of eyes analyze the changes.