Managed Code
Computers can be wierd and stange things, I think that a smaller percentage of people that use computers have the patience and opportunity to learn how to use them as carefully as is required to avoid the dangers of the internet, most people just want to use their computer to do something, they don't want/need to know how it works, or bother with details such as file extensions, these people are not stupid.
The design of the operating systems need to be improved so that most people can use their computers safely. I don't think that displaying file extensions or not is going to help with that effort, since most people don't know or care about file extensions.
How can the design of the operating system be improved?
if a file comes from the internet and is executable, don't let it execute if it can do something harmful, no warnings are UAC type questions, just don't execute it
"something harmful" usually involves writing or reading to certain parts of the hard drive, using code access security, it is possible to determine whether certain types of executable files contain functionality that will write to the hard drive or read certain parts of it
The answer can be found in managed code, if a file is downloaded from the internet and it isn't managed code then by default it should not be allowed to execute, advanced users would be able to enable this at their own risk.
OS X displays a warning if you execute a file that you downloaded from the internet, this is a step in the right direction, but more needs to be done.