The first check should work fine although you won't see any effective change if the value isn't different. However, if you just want to force data into AD, why not do this?
if (! oEmployee.TelephoneNumber == null)
{
dentry.Properties["telephoneNumber"].Value = oEmployee.TelephoneNumber;
}
It seems like your key problem is that you are sometimes trying to put null values from SQL into AD which is failing whereas your goal is to always overwrite AD with the data from SQL anyway, so why not just code that?