Кодил веб-часть для Sharpeonint, которая должна отображать содержимое списка. Оказалось, если необязательное поле списка не заполнено, а к нему идет обращение "listItem["columnname"].ToString();" из кода веб-части, то получаем эксэпшн. Бороться просто ...
string strValue = (listItem["columnname"] == null) ? "–" : listItem["columnname"].ToString();
и выводим переменную strValue