The model of plant in Model Predictive Control (MPC) is assumed to be strictly proper (Wang 2009: page 4).
$$ \begin{aligned} & x_m(k+1)= A_m x_m(k)+B_mu(k)\\ & y(k)=C_m x_m(k) \end{aligned} $$
However, no convincing reason has been mentioned for why should $D_m=0$.
..., due to the principle of receding horizon control, where a current information of the plant is required for prediction and control, we have implicitly assumed that the input $u(k)$ cannot affect the output $y(k)$ at the same time. Thus, $D_m = 0$ in the plant model.
So, what happens if $D_m\ne0$? If so, does it mean MPC controller will not be able to optimize?
No, there is no requirement that $D$ is zero in general in MPC. I would assume they have this to simplify when talking about state-estimation etc in combination with MPC, as you then don't have the complication that the measurement-update of the state estimate, which is used for the computation of the input, depends on the input, i.e. a catch-22 situation.