Ideally, LFForms would be coded to return an error value like 0 or -1, but since it doesn't do that, we need to ensure that the value we are searching always has the values we need to find, so that we never see the error.
Here's one way to do that.
Add an additional field (you probably want to use Field Rules to hide it). I named this one Plan_Description2 as it's going to modify the value from Plan_Description. The formula for this field takes the value from Plan_Description and adds all of the possible value we are searching for on to the end of it. This looks messy, which is why we are hiding it with Field rules.
=CONCATENATE(Plan_Description,"Mo Incr Benefit","Monthly Increasing Benefit","MIB")
Now, when we run the search, we are searching against this new Plan_Description2 field instead of Plan_Description. We know we will always find the values in Plan_Description2, since we forcibly added them to the end, so we need to make sure we find them before what we put at the end. We can do that by making sure the index number from FIND is low enough that it would be coming from Plan_Description and not what we tacked on the end in Plan_Description2 - using a LEN() function to get the length of the value from Plan_Description. The new formula looks like this:
=IF(FIND("Mo Incr Benefit", Plan_Description2)<=LEN(Plan_Description), "MIB", IF(FIND("Monthly Increasing Benefit", Plan_Description2)<=LEN(Plan_Description), "MIB", IF(FIND("MIB", Plan_Description2)<=LEN(Plan_Description), "MIB", "0")))
Put that all together, and the examples you showed all appear to work for me.






For what it is worth, I tried to see if the same behvaior carried over to the Modern Designer as well, and at least as of version 11.0.2311.50556 is does appear so.