Указатель больше, чем BOOL, поэтому при приведении он усекается и берет только 8 младших битов указателя и делает его BOOL.Если все эти биты равны нулю, то это эквивалентно NO.
Так что, чтобы ответить на ваш вопрос, нет, это не так (иногда это будет зависеть от значения указателя)пример использования Xcode 5.1.1 на 32-битной архитектуре:
void* p = (void*)0xfeeeff00;
BOOL b = (BOOL)p;
NSLog(@"p=%08x (%lu), b=%08x (%lu)", (uint32_t)p, sizeof p, (uint32_t)b, sizeof b);
Распечатывается:
p=feeeff00 (4), b=00000000 (1)