1. Should be fairly easy. Since you know the answer before hand and even if you generate it. You can have two variables one for each number. So if the basic setup is "A + B = C"
Then you can store a random number in "A" and "B"
And then you just:
"Pick random <Answer box>"
(in a variable you store the correct answer, for instant in something called "Result" and then make a Boolean as well, that will allow you to see if an <Answerbox> have been given a result, and one to mark it as the correct answer)
"Set <Answerbox>.result = A+B"
"Set <Answer box>.text = <Answerbox>.result"
"Set <Answerbox>.Have_result = True"
"Set <Answerbox>.Correct_answer = True"
For the others you can just check to see if there is already stored a result.
<Answerbox>.Have_result = False
For each <Answerbox>
"Set <Answerbox>.Result = int(Random(50) + 1)"
"Set <Answer box>.text = <Answerbox>.result"
"Set <Answerbox>.Have_result = True"
"Set <Answerbox>.Correct_answer = False"
Then you can just check if the player have selected the right one. And use the result to show the player that it was correct or remove it and just write correct, whatever you need.
2. Can be done with a button where you do it all over again or you can hook it up to a timer that will make it do it again after a certain amount of time.
3. To make sure that the first number is always higher, you can just generate the second number first, and add another random to it.
"Set <First number> = <Second number> + int(random(10)+1)"