According to this post
http://forums.ni.com/t5/LabVIEW/nan-change/td-p/1826573
It happened some time in version 2010 or 2011 (since it worked one way in 2009 then another in 2011).
Now the other question. Well while I can understand while some would say a NaN should be something and some would say it should be something else when converted, I agree that changing it between versions is asking for trouble. I know I had a coworker have a similar issue when he was doing limit checking. He had code to say is the measured value less then X and I think NaN would always return true (or maybe greater then X). But once the conversion was understood (for that version of LabVIEW) there were no other issues.