A slight mod will show that A1 and TestCell are passed to it.

Function TestInfo(R As Range) As String    
    MsgBox "alert"  & application.caller.address  
    TestInfo = R.Address
End Function
I assume that trying to read the names content causes it to be evaluated twice although it only returns the value once.