I don't presently have access to a LV PC so I can't comment directly on the code you posted. However, there is a longstanding restriction on the minimum # of ticks allowed for a counter's high or low time. That value is 2 ticks. When you ask for 0, it probably actually uses 2 rather than give you an error. This can probably be found in the docs/manuals somewhere, but as I recall, it doesn't leap out at you.
Still, a temperature regulation system is very unlikely to have a bandwidth in the msec range. So in practice, you should be able to run you PWM at perhaps 50 Hz and your control loop at 2 Hz (or whatever). If you set up PWM for 2 ticks ON time and (20 msec worth of ticks - 2) OFF time, you can get an exceedingly small (but non-zero) PWM duty cycle. In practice, it's as good as 0%.
There have been a few other threads here about PWM where you can stop a counter to get a true 0% then restart it to get a non-zero duty cycle. I doubt you'll need it for a temperature control system, but thought I'd mention it in case you're curious.
-Kevin P.
ALERT! LabVIEW's subscription-only policy came to an end (finally!). Unfortunately, pricing favors the captured and committed over new adopters -- so tread carefully.