Having a screenshot taken automatically if achievements or their criteria are earned seems rather easy if you tie the screenshot function to the event.
What i do not understand is how you make sure that the achievement frame is neither still flashing golden and has no text and no icon in it nor that it has already began to fade out.
To me it seems that it is depending on the speed of the computer of its components and the amount of addons loaded, isn't it?
Having a static delay of a second also doesn't seem to be a good choice either.
if frame.glow then frame.glow.supressGlow=true;end
This catches when a dynamic achievement alert frame is shown and hooks the animIn animation to take a screenshot when it finishes fading in. This also tells the frames to suppress the glow animation so it doesn't interfere.