Ultimately NOW() is a floating-point number, and any quant will tell you, you shouldn't ever do exact comparisons with floating-point numbers, even with zero, because computers always have rounding errors. The general way to compare floating-point numbers is to subtract them and see if the absolute value of the difference is within a small tolerance.
So with numbers you would not use "=$A$1=B1" but instead "=ABS($A$1-B1)<0.00001" to determine equality to the fifth decimal place; with times you should use "=ABS($A$1-B1)<TIME(0,0,0.1)" to determine precision within a tenth of a second.
Note that I've used absolute addressing with $A$1, but not B1; this is so that when you copy formats downward, including conditional ones, $A$1 doesn't change, but B1 does.