При работе с nullable вы всегда должны использовать свойство .HasValue, а не просто ссылаться на nullable.VB наследует использование следующего синтаксиса при проверке, был ли создан объект или нет:
If Foo Then
' Is instantiated
End If
В результате ваш пример допускает эвакуацию троичного If.Я рекомендую «исправить» ваш код, чтобы быть немного более явным в этом случае:
Dim b As Boolean? = Nothing
Dim myString = If(b.HasValue, "True", "False")
В качестве альтернативы, вместо использования троичного If, почему бы просто не переписать его как:
Dim myString = b.GetValueOrDefault(False).ToString()