Bearing in mind that "Lo Ish Keil
Rashi: Hashem allowed him to go, provided he went purely for financial gain. 1
Ramban #1 (citing the Ibn Ezra): Hashem allowed him to go because he insisted. 2
Refer to 22:22:2:11.
Da'as Zekenim: 'Do not say that I am causing you to lose your remuneration! What remuneration does he deserve, if he knows that he cannot do what he was hired for (to curse)?! Others say that Hashem permitted him to go to be an advisor (refer to 22:20:1:3), but Rashi did not say so! (PF)
Riva: As the Gemara states in Makos, 10b - 'be'Derech she'Adam Rotzeh Leilech, Molichin Oso.' See the Ramban's objection to this explanation. Refer also to 22:35:1:1.
Ramban: He did nothing wrong in asking Hashem a second time whether he should go or not.
Seforno: Hashem allowed him to go in order to warn the dignitaries not to sin. Ramban: And provided he says whatever Hashem tells him to say without fear of Balak.
Since Hashem clearly told Bil'am that he may say only what Hashem will tell him to say, why did he opt to go with the men?
Rashi: Because he thought that he would be able to talk Hashem into allowing him to curse Yisrael.