Вы получаете эту ошибку, потому что тип делегата Функция (ByVal z As Double) As String не совместима с Function (ByRef z As Double) As String .Вам нужно точное совпадение.
Также нельзя объявить универсальный делегат Func (Of ...) с параметрами ByRef ( ref или out в C #), независимо от того, используете ли вы анонимную функцию или нет.
Но вы можете объявить свой тип делегата и затем использовать его даже с анонимной функцией
Delegate Function ToStringDelegate(ByRef value As Double) As String
Sub Main()
Dim Del As ToStringDelegate = Function(ByRef value As Double) value.ToString()
End Sub
или можетеиспользовать неявную типизацию (если включена опция Option Infer)
Dim Del = Function(ByRef value As Double) value.ToString()