Уф !! Это было решено и было одной из самых неприятных вещей. Я не уверен, была ли это проблема с тем, как я определил схему ниже, или это ошибка в SharePoint.
Я запустил профилировщик, чтобы посмотреть, что происходит под капотами, и нашел запрос (довольно большой для меня, чтобы переварить ), где в RowOrdinal широко использовалось с предопределенным значением, равным 0 или 1. Поскольку я использовал « 32 ”, как RowOrdinal, мне показалось неясным. Я изменил его на «0» и бинго! Фильтр начал работать.
Кстати, вот что MSDN говорит об этом - "Необязательное целое число. Определяет местоположение базы данных для поля."
Не похоже, что он должен участвовать в фильтрации записей.
Итак, для закрытия поля следует определить как
<Field Type="User" DisplayName="Line Manager" List="UserInfo" Required="FALSE" EnforceUniqueValues="FALSE" ShowField="ImnName" UserSelectionMode="PeopleOnly" UserSelectionScope="0" ID="{098E0A5A-8187-481E-B155-B674A406EEAF}" SourceID="{53ca79b7-9ffa-457d-aff8-c71508b09cb1}" StaticName="Line_x0020_Manager" Name="Line_x0020_Manager" RowOrdinal="0" Filterable="TRUE" FromBaseType="TRUE"/>