I have been looking at this more closely this morning, and it seems that the problem is not comparison but synchronization.
If you specify a key, the sync statements that we run internally use the key for the where clause, and it assumes that the key is never null. We make statements like
update EMP
set (non_key_column1 = :value1, non_key_column = :value2, etc....)
where key_column1 = :value3
and key_column2 = :value4
The above doesn't work when the key columns have null values. In that case, IS NULL should be used instead.
If you click the 2nd sync button, to send a sync script to the editor, then we don't use variables, and statements have literals with IS NULL where appropriate.
So I think if you just run the sync script in the editor, (or save to a file and run in SQL*Plus) then you'll be able to sync your tables.