As per MSDN: The caption displayed for a field when the field's value is null. The default is an empty string (""), which indicates that this property is not set.
Refer: MSDN: BoundField.NullDisplayText Property
Thus, if you don't see 'NO', it might be that the value returned is not NULL. Make sure the query result has value as NULL such that the text representation is correct at front end as you want it to be.