Symptoms
IF Inline Functions only returning first Data Field in the True/False Value fields.
Diagnoses
After extensive testing, it looks like the issue isn't with the nested logic but having multiple return values in the True/False Value fields of the IF inline function. Placing a Data Field with anything else (text, another Data Field) seems to omit everything except the first Data Field.
Resolution
The way this can be fixed is to wrap all the return values in a ToString conversion function. This concatenates all the data fields and the semicolons and returns one string which the UI seems to handle better.
An efficient way to do this is as follows:
ToString( gmainEmail] emailB emailC )
emailB = If ( Length(email1 > 0) )
True Value: ToString( gemail1] )
False Value: EmptyString()
emailC = If ( Length(email2 > 0) )
True Value: ToString( gemail2] )
False Value: EmptyString()