This article does not address the value of strong-naming for EXE assemblies with regards to detecting external modifications to those assemblies. Strong Naming does not just ensure binding to the correct assembly, it also allows you to validate that an assembly is unchanged. Given the ease with which .NET assemblies can be decompiled, modified, and recompiled, Strong Naming is a key tool for verifying application integrity.
In the case of private components, the component can use strong naming to validate that the caller has not been modified by validating the signature against the publisher's public key (known to the component).
While validating EXE assembly integrity is not necessary in all situations, it is essential in the case of most licensed applications - as failing to Strong Name the EXE assembly makes it relatively easy for hackers to remove any licensing code.