Seeing as Bil'am had expressed regret at what he had done, why did Hashem not instruct him to go back?
Rashi: (It was clear from Bil'am's wording 1 that he was still keen to go and curse Yisrael), and Hashem leads a person along the path that he wants to go (Makos 10b).
Why did Hashem add the words "Im ha'Anashim"?
Rashi: He instructed Bil'am to go with the men 1 because he was destined to suffer the same fate as them - to be destroyed from the world.
What are the implications of the word "ve'Efes"?
Rashi: It implies that, come what may, Bil'am will have to say whatever Hashem tells him. 1
Ramban: It implies, either that Bil'am is obligated to inform the emissaries of this condition, or that Hashem has pardoned him for his sin - provided he remembers the condition. 2
Ramban: Because Bil'am wanted to curse Yisrael, and not to bless them under any circumstances, Hashem found it necessary to warn him, over and over again, to say whatever He told him to say. 3
Whether he likes it or not.
Ramban: To forestall any ideas that Bil'am may have that Hashem is allowing him to say whatever he is asked to say.
Ramban: And that explains why, the first thing he told Balak (in Pasuk 38) was that he only had permission to come to him, but as far as speaking was concerned, he was only allowed to say what Hashem told him
What are the implications of "Im Sarei Mo'av"?
Rashi: This implies that he went with them with the same intention as them 1 - that he was as happy to curse them as they were.
Hashem already told him (verse 20) 'you will do what I tell you.' Why did the angel repeat this?
Da'as Zekenim, Hadar Zekenim (32): You will do what I tell you Bal Korchacha (against your will). If you go with your initial intent, you will be killed by the sword. He said so in order to frighten and confound him.