Thank you for your post abramdemski!
I failed to understand why you can't arrive at a solution for the Single-Shot game via Iterated Play without memory of the previous game. In order to clarify my ideas let me define two concepts first:
Iterated Play with memory: We repeatedly play the game knowing the results of the previous games.
Iterated Play without memory: We repeatedly play the game, while having no memory of the previous play.
The distinction is important: With memory we can at any time search all previous games and act accordingly, allowing for strategies such as Tit-for-Tat and other history dependent strategies. Without memory we can still learn ( for example by applying some sort of Bayesian updates to our probability estimates of each move being played ), whilst not having access to the previous games before each move. That way we can "learn" how to best play the single shot version of the game by iterated play.
Does what I said above need any clarification, and is there any failure in its' logic?
Best Regards, Miguel