1. You don't need to pass the form's name. You aren't even using it.
2. The procedure should be a FUNCTION and not a SUB if you want to set the event property to =HighlightTextBox()

3. This works for me but I'm using Access 2003 at the moment at work but you might want to double check that your text boxes don't have the backstyle set to transparent which could be why the text appears to disappear when the focus is set on it.
Code:
Public Function HighlightTextbox()
Dim ctrlActive As Control
Dim strActiveControlSource As String
Dim ctrlPrev As Control
Dim strPrevControlSource As String
Dim intRetval As Integer
On Error GoTo HighlightTextbox_Error
Set ctrlActive = Screen.ActiveControl
If TypeOf ctrlActive Is TextBox Then
ctrlActive.BorderWidth = 6
intRetval = DoEvents()
Debug.Print "active", ctrlActive.Name
End If
Set ctrlPrev = Screen.PreviousControl
If TypeOf ctrlPrev Is TextBox Then
ctrlPrev.BorderWidth = 0
intRetval = DoEvents()
Debug.Print "previous", ctrlPrev.Name
End If
Debug.Print Time, ctrlActive.Name, ctrlPrev.Name
ExitHere:
Exit Function
HighlightTextbox_Error:
MsgBox "Error " & Err.Number & " - " & " (" & Err.Description & ") in procedure HighlightTextbox "
Resume ExitHere
Resume
End Function
Now it may be that it will work better to have another function which will set the control back to normal instead of trying to do it here and you would put that call in the control's Lost Focus event.