How to preserve a value of NULL as on update as it is being set to 0
You can set the field to appear in the grid, but NOT on the edit form. Use set_col_property() to set editable to false and hidedlg to true.
$dg->set_col_property('COLUMN_NAME', array('editable'=>false,'hidedlg'=>true));