As to monitoring the CPU usage, the SimpleTaskMonitor.vi .NET example that came out with LV7.0 would give you that information, but I question its usefulness. I had CPU up to close to 100% when a utility, written by someone else in C++, kicked in briefly. I understand what you are concerned about, and actually in most "mission critical" situations they resort to a hardware watchdog timer. If you base it on Windows and it goes on a walkabout ..., similarly, unless you have another piece of non-LabVIEW code being "tickled" every so often by LabVIEW how do you know when LabVIEW hangs? There are watchdog timers on some NI PXI boards, which would provide you with a method to do a hard reset in case of a failure. I haven't used these (have used watchdogs in other non-LabVIEW, non-NI instances). A search of the NI site with "watchdog" and "PXI" turns up a lot of hits.
P.M.
PutnamCertified LabVIEW Developer
Senior Test Engineer North Shore Technology, Inc.
Currently using LV 2012-LabVIEW 2018, RT8.5

LabVIEW Champion