How to prove that $E(M_n 1_{F})=E(M_r 1_{F})$ for a discrete-time martingale $M_n$ with $r>n$?

I don't believe you need the tower property, just the definition should do. We have that $\mathbb{E}[M_r|\mathcal{F}_n]$ is defined to be the unique random variable such that $\mathbb{E}[M_r|\mathcal{F}_n]$ is $\mathcal{F}_n-$measurable and $$\mathbb{E}[M_r 1_F] = \int_F M_r dP = \int_F \mathbb{E}[M_r|\mathcal{F}_n]dP $$ for all $F\in\mathcal{F}_n$. If $M_n$ is a discrete time martingale, we will have that $\mathbb{E}[M_r|\mathcal{F}_n] = M_n$. Thus the statement above becomes $$\mathbb{E}[M_r 1_F] = \int_F \mathbb{E}[M_r|\mathcal{F}_n]dP =\int_F M_n dP = \mathbb{E}[M_n1_F]$$