Prove whether this problem is decidable or undecidable
I believe that you ask whether the following language is decidable:

$$L_{\text{visit all}} = \{ \langle M,w\rangle \mid \text{  $M$ run on $w$ visits all its non-halting states}\}$$

I believe this language is undecidable. The reason is similar to the reason why the following language is undecidable:
$$L =\{ \langle M,w\rangle \mid \text{$M$ visit the state $q_1$ when running $w$}\}$$
Very iformally: You can see it by "designating" one state to be special, so if we reach it, it means acceptance. Then reaching all states is equivalent to halting problem.