NULL es un bicho raro al que hay que tenerle mucho respeto.
Se esperaría que City = NULL devolviera todos los campos City cuyo valor sea NULL, cuando no es así. Hay que tener en cuenta que * = NULL siempre da como resultado NULL, no FALSE o TRUE.
Tampoco es válido City IN (NULL, ''), devolverá todos los campos vacíos, pero no los campos NULL.
Sí es válido:
City <=> NULL
City IS NULL
Más información:
http://dev.mysql.com/doc/refman/5.0/...with-null.html