Larry,
Thanks for posting the log file, it really helps! It looks like the expression is correct, but I think I recall an issue with IS NULL, can you try the following?
IIF([TOWNCODE]="Q",[TPROD],IIF([TOWNCODE]="U",[TPROD],IIF([TOWNCODE]="Z",[TPROD],IIF(isNull([MCYCLE]) ,"NA",[MCYCLE]))))