Internet Explorer 7/8 y las funciones de la ventana son objetos vacíos

En Internet Explorer 8 (funciona también en IE9 en los modos IE7 / 8) los siguientes códigos de alertaobject yundefined en lugar de lo esperadofunction y algo comofunction() { [native code] }.

alert("typeof window.setTimeout = " + typeof window.setTimeout);  // object
alert("window.setTimeout.apply  = " + window.setTimeout.apply );  // undefined

Intentalo:http://jsfiddle.net/BsvZw/5/

¿Por qué está pasando esto? ¿Qué sería una solución para obtener el realsetTimeout?

Actualizar

Estoy tratando de crear una envoltura alrededorsetTimeout:

var _oldSetTimeout = window.setTimeout;
window.setTimeout = function ()
{
    // ...

    return _oldSetTimeout.apply(this, arguments);    // this is place where IE 7/8 says 'Object doesn't support this property or method'
                                                // and _oldSetTimeout looks like an empty object
};

Respuestas a la pregunta(2)

Su respuesta a la pregunta