No, I think the SPN formats section is getting people confused, it's an either\or situation. If you check the material it's detailed that when using TCP an SPN is always created as follows for both named and default instances
MSSQLSvc/FQDN:[port]
Named pipes and shared memory use
MSSQLSvc/FQDN:instancename is used for a named instance
MSSQLSvc/FQDN is used for the default instance.
The following details the above
http://technet.microsoft.com/en-us/library/ms191153.aspx
MSSQLSvc/fqdn:portThe provider-generated, default SPN when TCP is used. port is a TCP port number.
MSSQLSvc/fqdn
The provider-generated, default SPN for a default instance when a protocol other than TCP is used. fqdn is a fully-qualified domain name.
MSSQLSvc/fqdn:InstanceName
The provider-generated, default SPN for a named instance when a protocol other than TCP is used. InstanceName is the name of an instance of SQL Server.
-----------------------------------------------------------------------------------------------------------
"Ya can't make an omelette without breaking just a few eggs" 😉