1 - Se fai un ord(false) in php ti esce 0 cioè un carattere non stampabile. Se fai ord(true) ti esce 49 ovvero il carattere 1.
2 - la condizione con $row['disponibile'] del primo post dava sempre "ndisp" cioè false.
Comunque hai anche ragione perchè in altri linguaggi (adesso non mi ricordo quali) il false = 1 e il true = 0.