Wow, A lot to digest... thanks for the detailed questions.
On comprehension, it only takes a few seconds to process in the background, so you do not need to wait overnight. The best way I have found to train or test a bot is to enable comprehension and correction but disable learning from the Learning page. This is because with learning enabled the bot will learn every response, where as you normally want to target what it learns (using the chat correction checkbox).
You also need to be careful of the default scripts understanding something, so you may want to delete these from the Scripts page (just leave a single empty script for the bot to program itself). In your case "say x" is answered by the "SayIt" script so either delete SayIt, or use "repeat" instead of "say".
Comprehension cannot currently do enumerations (I think... since they can self learn, it is hard to be sure they can't do something), so will not be able to learn to repeat the word n times. They will learn to repeat other words though, if you train "repeat apples 2 times", "repeat orange 2 times", then say "repeat banana 2 times", it will answer "banana banana". You may need to repeat the training a few times for it to learn and understand the words.
You can create your own Self script to perform the repeating, I added one here under the example scripts, you can import it and try it out:
We would like to extend comprehension to add the ability to understand enumerations and other concepts. This would be important in having the bots self learn addition, and lead to more advanced learning.