If the user shouldn't be capable of shutting down the system, then the system administrator should remove their shutdown permission via group policy. I can see this being the case in certain business applications or a kiosk (although if the kiosk user can get to the shutdown button you're doing it wrong).
There is absolutely no reason for an app to completely stall the shutdown of a system - trust your user, if they are shutting down AND they click the option to force your app closed, then they are already aware that they are shutting down your app and it is clear that they want it shut down. What you have now will already stop them from shutting down without realizing that they're stopping your app from doing whatever it needs to do.