Bearing in mind Chazal, who say that curse of a Tzadik always comes true, when did that of Reuven materialize?
Ba'al ha'Turim: It materialized with the death of Dasan and Aviram in Parshas Korach. 1
See Ba'al ha'Turim.
Did Reuven really expect his father to kill his two sons should he fail to return Binyamin?
Seforno and Targum Yonasan: He meant that Ya'akov should curse them that they should die. 1
Riva #1, Hadar Zekenim #1: If I do not return Binyamin, I am liable that my sons die due to you, i.e. due to my sin against you.
Riva #2, Hadar Zekenim #2: You should make them poor, and an Oni is like a Mes; you will not give to them an inheritance in Eretz Yisrael. 2
The Seforno adds that he wanted him to curse them already now, and that should he fail in his mission the curse would take effect retroactively - like Rav cursed Shmuel (in Shabbos, Daf 108a).
Hadar Zekenim: This is why it says "Yechi Reuven v'Al Yamos" - the inheritance of his sons is greater than others, like we find in Sefer Yehoshua. (The Ramban (Bamidbar 35:14) says that Ever ha'Yarden was very big. There were more men in Shevet Reuven than in Gad or in half of Menasheh, so it is reasonable that Reuven's share would be biggest. I do not see a source from Sefer Yehoshua (13:15-21) which lists cities of Reuven, but far more cities of Yehudah (Yehoshsua15:21-62), and in Ever ha'Yarden itself, Menasheh received all 60 cities of Og (Yehoshua 13:30)!) (PF)
Reuven had four sons (Chanoch, Palu, Chetzron and Karmi). Why did he say "my two sons"?
Ramban: What he meant was that in place of [not returning] one of Ya'akov's sons, two of his would be punished.