The FallbackValue value should be the Visibility
value to fallback on when the binding fails:
<Binding Path="CurrentUser.IsConsumerOnlyAgent"
Converter="{StaticResource InvertedBooleanConverter1}"
FallbackValue="Visible" />
EDIT
From the FallbackValue documentation:
fallbackValue
An attribute or object element value of the same type as the target property. See that type's documentation for XAML usage information. That type may or may not support attribute syntax for its values, or may or may not support object element syntax (which requires a default constructor on that type). The target property type will therefore influence which syntax you use for the value of the FallbackValue property.
In this case, the target property of the MultiBinding is the Visibility property. Even though the value of the child MultiBinding properties is expecting a bool, the parent MultiBinding is expecting a Visiblity value from the binding. This means the FallbackValue for each of the MultiBinding properties should have a FallbackValue for the Visibility property.
Seems a bit counter-intuitive, but does make sense when thought through (IMO), re: if there was not a converter on the MultiBindng, then the return values of the binding should be a Visibility value. Remove the converter from the equation and it may help to clear things up.
For your case, skip the FallbackValue for each of the MultiBinding values and set the FallbackValue on the MultiBinding as you have now.
<MultiBinding Converter="{StaticResource AndToVisibilityConverter1}" FallbackValue="Visible">
<Binding Path="IsConnected" />
<Binding Path="CurrentUser.IsConsumerOnlyAgent" Converter="{StaticResource InvertedBooleanConverter1}" />
</MultiBinding>