Expresión SSRS que da error con la condición iif

Tengo esta expresión para un cuadro de texto en un informe SSRS

=IIF((Fields!Spot.Value = True), "SPOT", 
     MonthName(Fields!Codes_MonthFromIDfk.Value,true).ToUpper().ToString() & "-"
         & MonthName(Fields!Codes_MonthToIDfk.Value,true).ToUpper().ToString())

La columna "Spot" en la base de datos es una columna de bit de tipo de datos. Tiene 0 o 1. Cuando tengo 1 / Verdadero, debería imprimir SPOT o los meses como JAN-FEB. Recibo este error cuando el valor de la columna Spot es 1.

"La expresión de valor para el textrun‘ Textbox32.Paragraphs [0] .TextRuns [0] ’contiene un error: el argumento 'Mes' no es un valor válido".

Cuando elimino la parte falsa y escribo "ABCD", obtengo la salida correcta para el cuadro de texto. SPOT (para verdadero) o ABCD (para falso). Actualmente, cuando NO es 1, muestra JAN-FEB (que es la salida deseada). Si 1 aparece como#Error. ¿Qué hay de malo en esa expresión? Si usted necesita mas información por favor pregunte. Gracias.

EDITAR:

Public Function FormatMonths(ByVal spot As Boolean, ByVal from As Integer, ByVal to As        Integer) As String
    If spot Then
    Return "SPOT"
Else
    Return  MonthName(from,true).ToUpper().ToString() & "-" & MonthName(to,true).ToUpper().ToString()
End If
End Function

Expresión :

=Code.FormatMonths(Fields!Spot.Value, 1,2)

Respuestas a la pregunta(1)

Su respuesta a la pregunta