Thank you, Tom and Gé, for your thoughtful responses. They have given me lots to think about!
In practice, I am struggling to conjure a scenario that produces different results on each run. Banning __gc metamethods, as Tom suggests, is no trouble, and I've already gone ahead and redefined tostring to prevent it from leaking memory address information. Without those two things, how else can I actually get non-deterministic behavior? On all the machines I've tried so far, for instance, the script Gé provided appears to produce identical output on every run. I understand the Lua specification doesn't guarantee that behavior, but it would be handy to find a simple example that actually produces reliably non-deterministic results (or at least results that change with each executin). If anyone has any ideas about how to do this, or has done it before, I'd really appreciate your input.
Best,
~Luke