Ho importato su un mio DB il dump che hai postato...

Facendo un inserimento direttamente sul DB i campi che TINYINT che hai impostato a NULL non hanno valore se io non glielo imposto... quindi si comporta in modo corretto...

Ti chiedo: i valori al DB li inserisci tu usando una qualche funzione INSERT?
Te lo chiedo perché non vorrei che sia la tua query INSERT ad inserire il valore zero nei campi che invece devono stare vuoti...