Oh, you're always making a huge work answering the questions!
I'm slightly confused by the topic you cover, can't find what PNG is.
What should I do with random.seed than if I rely on unique random number generated for the particular clone? I can't move it out of main() because only there ID is accessible.
Make some class to store there those random numbers as globals and check should I generate it again or use as before based on user data seed and clone count?