Hi,
The reason would be the timing of the application.
If the code is presented in the AppInit function, it is probably called just once. Actually, if I download the Hall-sensor-based application from the NXP web, I can see the "TIM0CFORC_FOC0 = 1;" only in the transition functions, thus also called once between two states (e.g. in "void AppStopToAlignment(void)" ). The only exception is forcing the commutation in the timer event "TIMchan1_ISR".
In contrast to that, you have placed the code in the AppStop state, which is a function called within the main "while" loop, thus called over and over, with no time span in between. Since there is also the PTUC_PTULDOK = 1 command, I can imagine the ADC is being restarted so many times that it can skip some conversions.
Actually, with the lates package available at the NXP web, I can place your code in the AppStop and I still see the ADC interrupt being called every 50 us. However, the motor will not run since your code makes changes not compatible with the rest of the code.
Personally, I can see no benefit in placing the whole code into the AppStop state. If you are about to implement the in-speed start-up, the Hall sensors interface should be used to detect the speed.
I hope I have explained it at least a bit.
Best regards,
Matej