Wondering why your required field is missing data? That’s because it is not actually required in the strictest sense… these fields have more of a softer requirement to them.
Basically, CRM has a certain leniency when it comes to required fields since they can change from required to not required under different conditions (by using business rules or form script for example). These are not true DB required fields… more along the lines of Business required fields. In most cases, like when the user is using CRM day-to-day it is enforced as we would expect but operations that run through the API/Web Services (including Outlook synchronization) won’t always be interrupted due to the lack of a required field.
If you need to add a harder requirement for a field it takes a little more effort. Option 1 (easy effort) is to have a validation workflow throw an error if a ‘required’ field is missing, option 2 (medium effort but performance is better) is to have a plugin do the same. These options run server side and can enforce your required field under all types of transactions.