There should be no difference between those two logical expressions, so the issue must be related to either data or the way that you are using the expressions.
Here is an example of using each of the two expressions. You can see that they give the same logical result (0 or 1) for the inputs in this example:
data Have;
input chg @@;
MissFist = (. ne chg);
MissSecond = (chg ne .);
datalines;
-1 0 . 1 2 .A
;
proc print; run;
Please post your example where you claim to obtain different results.