If you have a non-null column with no default defined in the "source" database that either does not exist or exists as a null-allowed column on the "target" database a simple alter statement of the target to add a non-null column or change the column from null-allowed to non-null will fail if the table on the target database contains any rows.
xSQL Object allows you to set custom default values before generating the synchronization script. To set a custom default value for a column you must first enable custom defaults by going to the Application Settings under the Tools menu. See the picture below:

Note that when you do that the comparison results grid will contain the columns for each table (you will be able to drill down on a table and see the columns). By default the columns are not displayed on the comparison results grid.
To set a default value for a column drill down to that column and then right click on it - on the context menu that appears click on "Add Default Constraint". Please pay attention to the instructions on the dialog box that appears and make sure you provide default values that are valid for the column for which they are being set.
Note: The custom default constraints can only be specified for the columns that exist only on one side of the comparison. If the column has a default constraint already, you will be prompted to override it.