You have a very simplified view of how this works
You should think of the S flag as a way to tell the shell that "Execute" is the default tool for a file - that is all.
Likewise - if you remove the E flag, and have no S flag, it tells the shell to attempt opening the file with the program specified with the $VIEWER variable, if that variable is present.
Likewise - if you set the H flag, and the P flag is present, it tells the shell to also make the program resident when running it.