Worth mentioning the 14M firmware version.
So that other can try to replicate like for like.
(sorry, I don't have a 14M to try but it works on all other breeds).
Getting a return value of 0 will happen if the wrong pin is used, an input only pin (eg pin3) or the pull-up resistor is missing.
Double check by using an absolutely basic program that uses readtemp to w0 and readtemp12 to w1 in a loop with a debug and nothing else to remove the possibility of another part of the program from corrupting any variables.
Thanks for your help guys. I'll have to wait. I have been using 08M's and could have done with an extra output. I had already decided not to go up to 18X but saw the 14M and it was too tempting (pin for pin + extra)as it was minimal redesign of my board. As luck would have it I now have a board designed to fit a 14M but is running with a 08M in it and I've got all the must have stuff running. What's the best way of finding out when/(if) an upgrade occurs.