While fixing up storage pathing through redundant FC adapters, noticed that one ESX 4.0 U1 host using Fixed (VMware) path selection policy had an Active (I/O) path for each presented LUN but did not have a Preferred adapter highlighted. Also, received the following error when trying to set the preferred adapter (under Datastore Properties -> Manage Paths -> right-click in Paths, select Preferred):
Unable to cast object of type ‘LogicalUnitPolicy’ to type ‘FixedLogicalUnitPolicy’
This was only happening on one host and was happening for every datastore and every type of storage presented to the host (local and remote).
To fix, selected the only local storage presented to this host (where ESX was installed) and briefly changed the Path Selection Policy to Most Recently Used (VMware), which causes a Set logical unit policy action on the host. After doing so and then switching back to Fixed (VMware), the preffered path is then highlighted and the other LUN’s were able to be successfully set as well.
I expect that a rescan of the storage adapters may also resolve it but didn’t get the chance to try it.
Popularity: 78% [?]

Cheers, this worked for me. I saw the advice about the rescan of the HBAs, did that and it all worked. Thanks very much!
Having this same issue… gonna try the rescan during a maint window. Good info!