А вы уверены, что Object.prototype.toString не используется нигде в нативных объектах/функциях? Просто таким финтом вы не обманули какую-то конкретную функцию, а потенциально сломали все. Сломать и обмануть -- разные вещи. Проще было написать
var isArray = function() { return false; };