Basically, the way you coded it, the GOTO is not really needed. I havent bothered to analyze how KiX would process your code with the missing endif but if the second required EndIf were there, this is how it would look.
Code:
Dim $Source
$Source = ExpandEnvironmentVars(ReadValue('HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion','ProgramFilesPath'))
If Exist($Source +'\Common Files\System\MSMAPI\1033\MAPIR.OLD')
;do nothing
Else
If Exist($Source +'\Common Files\System\MSMAPI\1033\MAPIR.DLL')
Move $Source +'\Common Files\System\MSMAPI\1033\MAPIR.DLL' $Source +'\Common Files\System\MSMAPI\1033\MAPIR.OLD'
Copy '\\mnc17p1s\NETLOGON\batch\mapirnew.dll' $Source +'\Common Files\System\MSMAPI\1033\MAPIR.DLL'
EndIf
EndIf


Using the compare on the two files would cause the script to access the network share. OK if there is a chance the network version will be updated again but if this is a one time thing, you could just check the local version and string compare it.
Code:
If GetFileVersion($Source +'\Common Files\System\MSMAPI\1033\MAPIR.DLL', 'ProductVersion') <> 'whateveritssupposedtobe'
;do whatever
EndIf

_________________________
Give a man a fish and he will be back for more. Slap him with a fish and he will go away forever.