Ответ 1
Это потому, что вы возвращаете объект типа, который не соответствует CLS. Вы ничего не можете с этим поделать, вы не пишете этот тип. Просто признайте, что вы знаете, что он несовместим, иначе он не вызовет каких-либо проблем. Если вы не используете эту функцию на другом языке, который не поддерживает все типы .NET. Fix:
<CLSCompliant(False)> _
Public Function ConnectionNew(ByVal DataBaseName As String) As MySqlConnection
'' etc...
End Function