I got this error when trying to edit a node from a content type for which node weight was not enabled. The problem was that $node->weight_weight was empty but not null and database field is constraint to accept integer values. I fixed by casting the weight value to int in the _weight_set_weight function. I'm sorry I didn't have time to submit a patch but this was just a temporary fix. I think the _weight_set_weight function shouldn't be called at all if weight hasn't been enabled for that content type.