#EXEC and #ECHO directives are processed by ssinc.dll, not asp.dll... therefore, this directive is only supported in .shtml files (or any other extension that is mapped to ssinc.dll through IIS). Try this in an ASP page:
| <!--#echo var="DATE_LOCAL" --> |
If you view the source, you will see that nothing happened... this is bypassed by the ASP engine, and is rendered as a comment in the HTML.
Like ASP files, .shtml files can only be processed correctly when accessed through a web server. So just like you can't use #EXEC or #ECHO in an ASP page, you also can't use #EXEC or #ECHO in an .shtml page you reference using a local file reference (e.g. C:\file.shtml).
For information on using SSI files in IIS, see
KB #203064.