some of the APIs are not designed to work in the Server environment, especially those related to the UI objects. This particular attribute should actually work, since it belongs to the object "Field". It might be a glitch - I'd recommend reporting it to support.
As a side comment - I'd encourage you to analyze your business problem and to try and eliminate the need in manipulating these properties "behind the scenes". Those manipulations are causing confusion for the end user that can't get used to any consistent behavior. Any selections made "behand the scenes" make users uncomfortable with the tool ("things are happening without my knowledge and without my control").
Usually there are other means to satisfy the same business requirements without "playing" with selections.