I would guess that is has something to do with the 0 to 3 scope of your array:

strReturn = arrData(0, lngIndex)
If myLanguage = "CanadaEN" Or myLanguage = "USA" Then
'English label translations
strDetails = arrData(1, lngIndex)
ElseIf myLanguage = "CanadaFR" Then
'French label translations
strDetails = arrData(2, lngIndex)
ElseIf myLanguage = "SpanishSA" Then
'Spanish label translations
strDetails = arrData(3, lngIndex)