I ran across an issue where a server name had been changed, and SQL function to return the server name returned different values.

select @@SERVERNAME – Old Name
exec sp_helpserver – Old Name
select ServerProperty(‘ServerName’) – New name

Books Online lists the difference as:
‘The ServerName property provides the Windows server and instance name that together make up the unique server instance. @@SERVERNAME provides the currently configured local server name.’

So running sp_dropserver to remove the old instance name, sp_addserver to add the new name, and restarting the SQL service will result in all functions returning the same value.