Both of the past-tense examples sound somewhat archaic, but that is to some extent because the use of shall in the present-tense sentences does also, imo. (The use of present-tense may in the second sentence sounds formal, but not archaic.)
Probably the last person I heard use might and should with these specific meanings was my grandmother, who learned English as a foreign language about 100 years ago (literally). If your questions is whether you should :-) use the words with these meanings, I would say no, as it will simply be confusing. To convey the past-tense sense of these, you might have to come up with workarounds:
When he was at school, he was not allowed to go to the bathroom ...
He thought that they would go to the restaurant.
Hmm, that second one is tricky, but it's the result of substituting the non-archaic will for shall in the present tense.
May is a modal verb, so it is "defective" in that it does not have the usual infinitive with "to". Might is a past-tense form of may — though, as Wikipedia puts it, it has "acquired an independent, present tense meaning". A very similar thing happened in German, where möchte has a life of its own, and many native speakers don't realize that it started off as the subjunctive form of mögen (etymologically, that's the German equivalent of may, but it has drifted away to mean "to like" in contemporary German).
Best Answer
Formally, might is the past tense of may. In situations where the past tense is required, only might may be used:
Correct:
Subordinate clauses in English must be in the past tense if the main clause is in the past tense, so this is correct.
Incorrect:
Here you cannot use the present tense may with the past tense main verb said.
However, in the present tense may and might can be used interchangeably, meaning that all of the following are correct: