That error likely occurs when there's nothing in the initials field at all (I didn't test) but you can avoid the error by testing for null before trying to parse the string
Code:
Dim i As Integer
Dim sInputString As String
Dim sOutputString As String
if not isnull([letters])
sInputString = Replace([Letters], " ", "")
sInputString = Replace([sInputString], ".", "")
sOutputString = ""
For i = 1 To Len(sInputString)
sOutputString = sOutputString & UCase(Mid(sInputString, i, 1)) & "."
Next
Letters = sOutputString
else
'do whatever you're going to do if letters is blank
endif